Beispiel #1
0
def _create_orc_basic_row_and_data() -> Tuple[RowType, RowTypeInfo, List[Row]]:
    jvm = get_gateway().jvm
    row_type = DataTypes.ROW([
        DataTypes.FIELD('char', DataTypes.CHAR(10)),
        DataTypes.FIELD('varchar', DataTypes.VARCHAR(10)),
        DataTypes.FIELD('bytes', DataTypes.BYTES()),
        DataTypes.FIELD('boolean', DataTypes.BOOLEAN()),
        DataTypes.FIELD('decimal', DataTypes.DECIMAL(2, 0)),
        DataTypes.FIELD('int', DataTypes.INT()),
        DataTypes.FIELD('bigint', DataTypes.BIGINT()),
        DataTypes.FIELD('double', DataTypes.DOUBLE()),
        DataTypes.FIELD('date', DataTypes.DATE()),
        DataTypes.FIELD('timestamp', DataTypes.TIMESTAMP(3)),
    ])
    row_type_info = Types.ROW_NAMED([
        'char', 'varchar', 'bytes', 'boolean', 'decimal', 'int', 'bigint',
        'double', 'date', 'timestamp'
    ], [
        Types.STRING(),
        Types.STRING(),
        Types.PRIMITIVE_ARRAY(Types.BYTE()),
        Types.BOOLEAN(),
        Types.BIG_DEC(),
        Types.INT(),
        Types.LONG(),
        Types.DOUBLE(),
        Types.JAVA(jvm.java.time.LocalTime),
        Types.JAVA(jvm.java.time.LocalDateTime)
    ])
    data = [
        Row(
            char='char',
            varchar='varchar',
            bytes=b'varbinary',
            boolean=True,
            decimal=Decimal(1.5),
            int=2147483647,
            bigint=-9223372036854775808,
            double=2e-308,
            date=date(1970, 1, 1),
            timestamp=datetime(1970, 1, 2, 3, 4, 5, 600000),
        )
    ]
    return row_type, row_type_info, data