要将一些csv数据写入parquet,我可以使用sparksql。我编写的简单代码如下:
org.apache.spark.sql.types.StructType schema = getSchema();
List<Object[]> data = getData();
List<Row> rows = data.stream().map(RowFactory::create).collect(Collectors.toList());
sparkSession.createDataFrame(rows, schema).write().parquet(path);
但现在我需要做的是不带Spark。我有org.apache.spark.sql.types.structtype模式。我找到了library org.apache。parquet:parquet-hadoop:1.11.0 (https://javadoc.io/doc/org.apache.parquet/parquet-hadoop/1.11.0/index.html). 在这个库类中,parquetwriter用于写入数据。为此,它有方法write(t object)和writesupport类的required object(带元数据),其中t是要写入的数据类型。
关于这门课我有两个问题:
如何简单地将org.apache.spark.sql.types.structtype架构转换为writesupport。
如何简单地将行或对象[]转换为t类型,以及如何将其定义为t类型?
p、 s:我读过关于用avro格式和类编写的文章,但这不是我想要的。
暂无答案!
目前还没有任何答案,快来回答吧!