当前位置: 首页>>代码示例>>Java>>正文


Java Block.isNull方法代码示例

本文整理汇总了Java中com.facebook.presto.spi.block.Block.isNull方法的典型用法代码示例。如果您正苦于以下问题:Java Block.isNull方法的具体用法?Java Block.isNull怎么用?Java Block.isNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.facebook.presto.spi.block.Block的用法示例。


在下文中一共展示了Block.isNull方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: input

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
public static void input(BlockComparator comparator, Type valueType, Type keyType, MinMaxByNState state, Block value, Block key, int blockIndex, long n)
{
    TypedKeyValueHeap heap = state.getTypedKeyValueHeap();
    if (heap == null) {
        if (n <= 0) {
            throw new PrestoException(INVALID_FUNCTION_ARGUMENT, "third argument of max_by/min_by must be a positive integer");
        }
        heap = new TypedKeyValueHeap(comparator, keyType, valueType, Ints.checkedCast(n));
        state.setTypedKeyValueHeap(heap);
    }

    long startSize = heap.getEstimatedSize();
    if (!key.isNull(blockIndex)) {
        heap.add(key, value, blockIndex);
    }
    state.addMemoryUsage(heap.getEstimatedSize() - startSize);
}
 
开发者ID:y-lan,项目名称:presto,代码行数:18,代码来源:AbstractMinMaxByNAggregationFunction.java

示例2: appendTo

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@Override
public void appendTo(Block block, int position, BlockBuilder blockBuilder)
{
    if (block.isNull(position)) {
        blockBuilder.appendNull();
    }
    else {
        block.writeBytesTo(position, 0, block.getLength(position), blockBuilder);
        blockBuilder.closeEntry();
    }
}
 
开发者ID:vitillo,项目名称:presto-hyperloglog,代码行数:12,代码来源:HyperLogLogType.java

示例3: getObjectValue

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@Override
public Object getObjectValue(ConnectorSession session, Block block, int position)
{
    if (block.isNull(position)) {
        return null;
    }

    return new SqlVarbinary(block.getSlice(position, 0, block.getLength(position)).getBytes());
}
 
开发者ID:vitillo,项目名称:presto-hyperloglog,代码行数:10,代码来源:HyperLogLogType.java

示例4: deserialize

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@Override
public void deserialize(Block block, int index, HyperLogLogState state)
{
    if (!block.isNull(index)) {
        Slice slice = HyperLogLogType.HYPER_LOG_LOG.getSlice(block, index);
        state.setHyperLogLog(HyperLogLog.fromBytes(slice.getBytes()).toDenseHLL());
    }
}
 
开发者ID:vitillo,项目名称:presto-hyperloglog,代码行数:9,代码来源:HyperLogLogStateSerializer.java

示例5: contains

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@TypeParameter(StandardTypes.DOUBLE)
@SqlType(StandardTypes.BOOLEAN)
@Nullable
public static Boolean contains(
        @TypeParameter(StandardTypes.DOUBLE) Type elementType,
        @SqlType("array(double)") Block arrayBlock,
        @SqlType(StandardTypes.DOUBLE) double lng,
        @SqlType(StandardTypes.DOUBLE) double lat)
{
    double[] array= new double[arrayBlock.getPositionCount()] ;
    Polygon poly = new Polygon();

    for (int i = 0; i < arrayBlock.getPositionCount(); i++) {

        if (arrayBlock.isNull(i)) {
            continue;
        }
        array[i]=elementType.getDouble(arrayBlock, i);

    }

    poly.startPath(array[0], array[1]);
    for (int i = 2; i < array.length; i += 2) {
        poly.lineTo(array[i], array[i + 1]);
    }
    return OperatorContains.local().execute(poly, new Point(lng,lat), null, null);
}
 
开发者ID:Cuebiq,项目名称:presto-cuebiq-functions,代码行数:28,代码来源:PolyContains.java

示例6: getObjectValue

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@Override
public Object getObjectValue(ConnectorSession session, Block block, int position)
{
    if (block.isNull(position)) {
        return null;
    }

    Block mapBlock = block.getObject(position, Block.class);
    Map<Object, Object> map = new HashMap<>();
    for (int i = 0; i < mapBlock.getPositionCount(); i += 2) {
        map.put(keyType.getObjectValue(session, mapBlock, i), valueType.getObjectValue(session, mapBlock, i + 1));
    }

    return Collections.unmodifiableMap(map);
}
 
开发者ID:y-lan,项目名称:presto,代码行数:16,代码来源:MapType.java

示例7: containsNullValue

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
private static boolean containsNullValue(int position, Block... blocks)
{
    for (Block block : blocks) {
        if (block.isNull(position)) {
            return true;
        }
    }
    return false;
}
 
开发者ID:y-lan,项目名称:presto,代码行数:10,代码来源:UnloadedIndexKeyRecordSet.java

示例8: longSubscript

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@UsedByGeneratedCode
public static Long longSubscript(Type elementType, Block array, long index)
{
    checkIndex(array, index);
    int position = Ints.checkedCast(index - 1);
    if (array.isNull(position)) {
        return null;
    }

    return elementType.getLong(array, position);
}
 
开发者ID:y-lan,项目名称:presto,代码行数:12,代码来源:ArraySubscriptOperator.java

示例9: appendTo

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@Override
public void appendTo(Block block, int position, BlockBuilder blockBuilder)
{
    if (block.isNull(position)) {
        blockBuilder.appendNull();
    }
    else {
        blockBuilder.writeLong(block.getLong(position, 0)).closeEntry();
    }
}
 
开发者ID:y-lan,项目名称:presto,代码行数:11,代码来源:TimestampWithTimeZoneType.java

示例10: deserialize

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@Override
public void deserialize(Block block, int index, BloomFilterState state)
{
    if (!block.isNull(index)) {
        state.setBloomFilter(BloomFilter.newInstance(BloomFilterType.BLOOM_FILTER.getSlice(block, index)));
    }
}
 
开发者ID:RobinUS2,项目名称:presto-bloomfilter,代码行数:8,代码来源:BloomFilterStateSerializer.java

示例11: indexString

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
private static ColumnStats indexString(Type type, OrcRecordReader reader, int columnIndex, long columnId)
        throws IOException
{
    boolean minSet = false;
    boolean maxSet = false;
    Slice min = null;
    Slice max = null;

    while (true) {
        int batchSize = reader.nextBatch();
        if (batchSize <= 0) {
            break;
        }
        Block block = reader.readBlock(type, columnIndex);

        for (int i = 0; i < batchSize; i++) {
            if (block.isNull(i)) {
                continue;
            }
            Slice slice = type.getSlice(block, i);
            slice = truncateIndexValue(slice);
            if (!minSet || (slice.compareTo(min) < 0)) {
                minSet = true;
                min = slice;
            }
            if (!maxSet || (slice.compareTo(max) > 0)) {
                maxSet = true;
                max = slice;
            }
        }
    }

    return new ColumnStats(columnId,
            minSet ? min.toStringUtf8() : null,
            maxSet ? max.toStringUtf8() : null);
}
 
开发者ID:y-lan,项目名称:presto,代码行数:37,代码来源:ShardStats.java

示例12: deserialize

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@Override
public void deserialize(Block block, int index, HyperLogLogState state)
{
    if (!block.isNull(index)) {
        state.setHyperLogLog(HyperLogLog.newInstance(HYPER_LOG_LOG.getSlice(block, index)));
    }
}
 
开发者ID:y-lan,项目名称:presto,代码行数:8,代码来源:HyperLogLogStateSerializer.java

示例13: getObjectValue

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
@Override
public Object getObjectValue(ConnectorSession session, Block block, int position)
{
    if (block.isNull(position)) {
        return null;
    }

    return new SqlTimestampWithTimeZone(block.getLong(position, 0));
}
 
开发者ID:y-lan,项目名称:presto,代码行数:10,代码来源:TimestampWithTimeZoneType.java

示例14: hashPosition

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
public static long hashPosition(MethodHandle methodHandle, Type type, Block block, int position)
{
    if (block.isNull(position)) {
        return NULL_HASH_CODE;
    }
    try {
        if (type.getJavaType() == boolean.class) {
            return (long) methodHandle.invoke(type.getBoolean(block, position));
        }
        else if (type.getJavaType() == long.class) {
            return (long) methodHandle.invoke(type.getLong(block, position));
        }
        else if (type.getJavaType() == double.class) {
            return (long) methodHandle.invoke(type.getDouble(block, position));
        }
        else if (type.getJavaType() == Slice.class) {
            return (long) methodHandle.invoke(type.getSlice(block, position));
        }
        else if (!type.getJavaType().isPrimitive()) {
            return (long) methodHandle.invoke(type.getObject(block, position));
        }
        else {
            throw new UnsupportedOperationException("Unsupported native container type: " + type.getJavaType() + " with type " + type.getTypeSignature());
        }
    }
    catch (Throwable throwable) {
        throw Throwables.propagate(throwable);
    }
}
 
开发者ID:y-lan,项目名称:presto,代码行数:30,代码来源:TypeUtils.java

示例15: add

import com.facebook.presto.spi.block.Block; //导入方法依赖的package包/类
/**
 * Only add this key value pair if we are in multi-value mode or we haven't met this key before.
 * Otherwise, ignore it.
 */
public void add(Block key, Block value, int keyPosition, int valuePosition)
{
    if (isMultiValue || !keySet.contains(key, keyPosition)) {
        keySet.add(key, keyPosition);
        keyType.appendTo(key, keyPosition, keyBlockBuilder);
        if (value.isNull(valuePosition)) {
            valueBlockBuilder.appendNull();
        }
        else {
            valueType.appendTo(value, valuePosition, valueBlockBuilder);
        }
    }
}
 
开发者ID:y-lan,项目名称:presto,代码行数:18,代码来源:KeyValuePairs.java


注:本文中的com.facebook.presto.spi.block.Block.isNull方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。