• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ParquetHiveSerDe类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe的典型用法代码示例。如果您正苦于以下问题:Java ParquetHiveSerDe类的具体用法?Java ParquetHiveSerDe怎么用?Java ParquetHiveSerDe使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ParquetHiveSerDe类属于org.apache.hadoop.hive.ql.io.parquet.serde包,在下文中一共展示了ParquetHiveSerDe类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: testParquet

import org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe; //导入依赖的package包/类
@Test
public void testParquet()
        throws Exception
{
    List<TestColumn> testColumns = getTestColumnsSupportedByParquet();

    HiveOutputFormat<?, ?> outputFormat = new MapredParquetOutputFormat();
    InputFormat<?, ?> inputFormat = new MapredParquetInputFormat();
    @SuppressWarnings("deprecation")
    SerDe serde = new ParquetHiveSerDe();
    File file = File.createTempFile("presto_test", "parquet");
    file.delete();
    try {
        FileSplit split = createTestFile(file.getAbsolutePath(), outputFormat, serde, null, testColumns, NUM_ROWS);
        HiveRecordCursorProvider cursorProvider = new ParquetRecordCursorProvider(false);
        testCursorProvider(cursorProvider, split, inputFormat, serde, testColumns, NUM_ROWS);
    }
    finally {
        //noinspection ResultOfMethodCallIgnored
        file.delete();
    }
}
 
开发者ID:y-lan,项目名称:presto,代码行数:23,代码来源:TestHiveFileFormats.java


示例2: testParquetPageSource

import org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe; //导入依赖的package包/类
@Test(enabled = false)
public void testParquetPageSource()
        throws Exception
{
    List<TestColumn> testColumns = getTestColumnsSupportedByParquet();
    testColumns = testColumns.stream()
            .filter(column -> column.getObjectInspector().getCategory() == Category.PRIMITIVE)
            .collect(toList());

    HiveOutputFormat<?, ?> outputFormat = new MapredParquetOutputFormat();
    InputFormat<?, ?> inputFormat = new MapredParquetInputFormat();
    @SuppressWarnings("deprecation")
    SerDe serde = new ParquetHiveSerDe();
    File file = File.createTempFile("presto_test", "parquet");
    file.delete();
    try {
        FileSplit split = createTestFile(file.getAbsolutePath(), outputFormat, serde, null, testColumns, NUM_ROWS);
        TestingConnectorSession session = new TestingConnectorSession(
                new HiveSessionProperties(new HiveClientConfig().setParquetOptimizedReaderEnabled(true)).getSessionProperties());
        testPageSourceFactory(new ParquetPageSourceFactory(TYPE_MANAGER, false), split, inputFormat, serde, testColumns, session);
    }
    finally {
        //noinspection ResultOfMethodCallIgnored
        file.delete();
    }
}
 
开发者ID:y-lan,项目名称:presto,代码行数:27,代码来源:TestHiveFileFormats.java


示例3: testParquetUseColumnNames

import org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe; //导入依赖的package包/类
@Test
public void testParquetUseColumnNames()
        throws Exception
{
    List<TestColumn> testColumns = getTestColumnsSupportedByParquet();

    HiveOutputFormat<?, ?> outputFormat = new MapredParquetOutputFormat();
    InputFormat<?, ?> inputFormat = new MapredParquetInputFormat();
    @SuppressWarnings("deprecation")
    SerDe serde = new ParquetHiveSerDe();
    File file = File.createTempFile("presto_test", "parquet");
    file.delete();
    try {
        FileSplit split = createTestFile(file.getAbsolutePath(), outputFormat, serde, null, testColumns, NUM_ROWS);
        // Reverse the order of the columns to test access by name, not by index
        Collections.reverse(testColumns);
        HiveRecordCursorProvider cursorProvider = new ParquetRecordCursorProvider(true);
        testCursorProvider(cursorProvider, split, inputFormat, serde, testColumns, NUM_ROWS);
    }
    finally {
        //noinspection ResultOfMethodCallIgnored
        file.delete();
    }
}
 
开发者ID:y-lan,项目名称:presto,代码行数:25,代码来源:TestHiveFileFormats.java


示例4: deserializeAndSerializeLazySimple

import org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe; //导入依赖的package包/类
private void deserializeAndSerializeLazySimple(final ParquetHiveSerDe serDe, final ArrayWritable t) throws SerDeException {

    // Get the row structure
    final StructObjectInspector oi = (StructObjectInspector) serDe.getObjectInspector();

    // Deserialize
    final Object row = serDe.deserialize(t);
    assertEquals("deserialization gives the wrong object class", row.getClass(), ArrayWritable.class);
    assertEquals("size correct after deserialization", serDe.getSerDeStats().getRawDataSize(), t.get().length);
    assertEquals("deserialization gives the wrong object", t, row);

    // Serialize
    final ArrayWritable serializedArr = (ArrayWritable) serDe.serialize(row, oi);
    assertEquals("size correct after serialization", serDe.getSerDeStats().getRawDataSize(), serializedArr.get().length);
    assertTrue("serialized object should be equal to starting object", arrayWritableEquals(t, serializedArr));
  }
 
开发者ID:apache,项目名称:parquet-mr,代码行数:17,代码来源:TestParquetSerDe.java


示例5: getDataFormat

import org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe; //导入依赖的package包/类
public static String getDataFormat(StorageDescriptor descriptor) {
  Preconditions.checkNotNull(descriptor);

  String serde = descriptor.getSerdeInfo().getSerializationLib();
  String inputFormat = descriptor.getInputFormat();

  if (LazySimpleSerDe.class.getName().equals(serde)) {
    if (TextInputFormat.class.getName().equals(inputFormat)) {
      return BuiltinStorages.TEXT;
    } else if (SequenceFileInputFormat.class.getName().equals(inputFormat)) {
      return BuiltinStorages.SEQUENCE_FILE;
    } else {
      throw new TajoRuntimeException(new UnknownDataFormatException(inputFormat));
    }
  } else if (LazyBinarySerDe.class.getName().equals(serde)) {
    if (SequenceFileInputFormat.class.getName().equals(inputFormat)) {
      return BuiltinStorages.SEQUENCE_FILE;
    } else {
      throw new TajoRuntimeException(new UnknownDataFormatException(inputFormat));
    }
  } else if (LazyBinaryColumnarSerDe.class.getName().equals(serde) || ColumnarSerDe.class.getName().equals(serde)) {
    if (RCFileInputFormat.class.getName().equals(inputFormat)) {
      return BuiltinStorages.RCFILE;
    } else {
      throw new TajoRuntimeException(new UnknownDataFormatException(inputFormat));
    }
  } else if (ParquetHiveSerDe.class.getName().equals(serde)) {
    return BuiltinStorages.PARQUET;
  } else if (AvroSerDe.class.getName().equals(serde)) {
    return BuiltinStorages.AVRO;
  } else if (OrcSerde.class.getName().equals(serde)) {
    return BuiltinStorages.ORC;
  } else if (RegexSerDe.class.getName().equals(serde)) {
    return BuiltinStorages.REGEX;
  } else {
    throw new TajoRuntimeException(new UnknownDataFormatException(inputFormat));
  }
}
 
开发者ID:apache,项目名称:tajo,代码行数:39,代码来源:HiveCatalogUtil.java


示例6: convertMapType

import org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe; //导入依赖的package包/类
private static GroupType convertMapType(final String name, final MapTypeInfo typeInfo) {
  final Type keyType = convertType(ParquetHiveSerDe.MAP_KEY.toString(),
      typeInfo.getMapKeyTypeInfo(), Repetition.REQUIRED);
  final Type valueType = convertType(ParquetHiveSerDe.MAP_VALUE.toString(),
      typeInfo.getMapValueTypeInfo());
  return ConversionPatterns.mapType(Repetition.OPTIONAL, name, keyType, valueType);
}
 
开发者ID:apache,项目名称:parquet-mr,代码行数:8,代码来源:HiveSchemaConverter.java


示例7: testParquetThrift

import org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe; //导入依赖的package包/类
@Test
public void testParquetThrift()
        throws Exception
{
    RowType nameType = new RowType(ImmutableList.of(VARCHAR, VARCHAR), Optional.empty());
    RowType phoneType = new RowType(ImmutableList.of(VARCHAR, VARCHAR), Optional.empty());
    RowType personType = new RowType(ImmutableList.of(nameType, BIGINT, VARCHAR, new ArrayType(phoneType)), Optional.empty());

    List<TestColumn> testColumns = ImmutableList.<TestColumn>of(
        new TestColumn(
            "persons",
            getStandardListObjectInspector(
                getStandardStructObjectInspector(
                    ImmutableList.of("name", "id", "email", "phones"),
                    ImmutableList.<ObjectInspector>of(
                        getStandardStructObjectInspector(
                          ImmutableList.of("first_name", "last_name"),
                          ImmutableList.of(javaStringObjectInspector, javaStringObjectInspector)
                        ),
                        javaIntObjectInspector,
                        javaStringObjectInspector,
                        getStandardListObjectInspector(
                          getStandardStructObjectInspector(
                            ImmutableList.of("number", "type"),
                            ImmutableList.of(javaStringObjectInspector, javaStringObjectInspector)
                          )
                        )
                    )
                )
            ),
            null,
            arrayBlockOf(personType,
                    rowBlockOf(ImmutableList.of(nameType, BIGINT, VARCHAR, new ArrayType(phoneType)),
                            rowBlockOf(ImmutableList.of(VARCHAR, VARCHAR), "Bob", "Roberts"),
                            0,
                            "[email protected]",
                            arrayBlockOf(phoneType, rowBlockOf(ImmutableList.of(VARCHAR, VARCHAR), "1234567890", null))
                    )
            )
        )
    );

    InputFormat<?, ?> inputFormat = new MapredParquetInputFormat();
    @SuppressWarnings("deprecation")
    SerDe serde = new ParquetHiveSerDe();
    File file = new File(this.getClass().getClassLoader().getResource("addressbook.parquet").getPath());
    FileSplit split = new FileSplit(new Path(file.getAbsolutePath()), 0, file.length(), new String[0]);
    HiveRecordCursorProvider cursorProvider = new ParquetRecordCursorProvider(false);
    testCursorProvider(cursorProvider, split, inputFormat, serde, testColumns, 1);
}
 
开发者ID:y-lan,项目名称:presto,代码行数:51,代码来源:TestHiveFileFormats.java


示例8: convertArrayType

import org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe; //导入依赖的package包/类
private static GroupType convertArrayType(final String name, final ListTypeInfo typeInfo) {
  final TypeInfo subType = typeInfo.getListElementTypeInfo();
  return listWrapper(name, OriginalType.LIST, new GroupType(Repetition.REPEATED,
      ParquetHiveSerDe.ARRAY.toString(), convertType("array_element", subType)));
}
 
开发者ID:apache,项目名称:parquet-mr,代码行数:6,代码来源:HiveSchemaConverter.java


示例9: testParquetHiveSerDe

import org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe; //导入依赖的package包/类
public void testParquetHiveSerDe() throws Throwable {
  try {
    // Create the SerDe
    System.out.println("test: testParquetHiveSerDe");

    final ParquetHiveSerDe serDe = new ParquetHiveSerDe();
    final Configuration conf = new Configuration();
    final Properties tbl = createProperties();
    serDe.initialize(conf, tbl);

    // Data
    final Writable[] arr = new Writable[8];

    arr[0] = new ByteWritable((byte) 123);
    arr[1] = new ShortWritable((short) 456);
    arr[2] = new IntWritable(789);
    arr[3] = new LongWritable(1000l);
    arr[4] = new DoubleWritable((double) 5.3);
    arr[5] = new BinaryWritable(Binary.fromString("hive and hadoop and parquet. Big family."));

    final Writable[] mapContainer = new Writable[1];
    final Writable[] map = new Writable[3];
    for (int i = 0; i < 3; ++i) {
      final Writable[] pair = new Writable[2];
      pair[0] = new BinaryWritable(Binary.fromString("key_" + i));
      pair[1] = new IntWritable(i);
      map[i] = new ArrayWritable(Writable.class, pair);
    }
    mapContainer[0] = new ArrayWritable(Writable.class, map);
    arr[6] = new ArrayWritable(Writable.class, mapContainer);

    final Writable[] arrayContainer = new Writable[1];
    final Writable[] array = new Writable[5];
    for (int i = 0; i < 5; ++i) {
      array[i] = new BinaryWritable(Binary.fromString("elem_" + i));
    }
    arrayContainer[0] = new ArrayWritable(Writable.class, array);
    arr[7] = new ArrayWritable(Writable.class, arrayContainer);

    final ArrayWritable arrWritable = new ArrayWritable(Writable.class, arr);
    // Test
    deserializeAndSerializeLazySimple(serDe, arrWritable);
    System.out.println("test: testParquetHiveSerDe - OK");

  } catch (final Throwable e) {
    e.printStackTrace();
    throw e;
  }
}
 
开发者ID:apache,项目名称:parquet-mr,代码行数:50,代码来源:TestParquetSerDe.java



注:本文中的org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ProcessStarter类代码示例发布时间:2022-05-23
下一篇:
Java LazyPlayerSet类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap