我想从Kafka的avro信息中创建一堆兽人文件。
我在下面看到了一些使用spark的示例代码。我只是在一个独立的进程中运行它,并且想知道我应该研究什么样的选项。例如,我想将这些文件注入到像s3这样的云存储中。有推荐的方法吗?
SparkConf sparkConf = new SparkConf()
.setAppName("Converter Service")
.setMaster("local[*]");
SparkSession sparkSession = SparkSession.builder().config(sparkConf).enableHiveSupport().getOrCreate();
// read input data
Dataset<Row> events = sparkSession.read()
.format("json")
.schema(inputConfig.getSchema()) // StructType describing input schema
.load(inputFile.getPath());
// write data out
DataFrameWriter<Row> frameWriter = events
.selectExpr(
// useful if you want to change the schema before writing it to ORC, e.g. ["`col1` as `FirstName`", "`col2` as `LastName`"]
JavaConversions.asScalaBuffer(outputSchema.getColumns()))
.write()
.options(ImmutableMap.of("compression", "zlib"))
.format("orc")
.save(outputUri.getPath());
1条答案
按热度按时间6fe3ivhb1#
使用databricks avro reader for spark创建Dataframe。spark本机支持orc,因此创建文件很容易。
你可以在maven找到avro图书馆。
在scala中,会出现这样的情况: