Apache spark 使用Spark生成无模式avro
有没有办法从ApacheSpark生成无模式的avro?我可以看到一种通过Java/Scala使用ApacheAvro库和confluent avro生成它的方法。当我以下面的方式从Spark编写Avro时,它创建了带有模式的Avro。我想创建一个没有模式的数据集,以减少最终数据集的大小Apache spark 使用Spark生成无模式avro,apache-spark,apache-spark-sql,avro,spark-avro,avro-tools,Apache Spark,Apache Spark Sql,Avro,Spark Avro,Avro Tools,有没有办法从ApacheSpark生成无模式的avro?我可以看到一种通过Java/Scala使用ApacheAvro库和confluent avro生成它的方法。当我以下面的方式从Spark编写Avro时,它创建了带有模式的Avro。我想创建一个没有模式的数据集,以减少最终数据集的大小 df.write.format("avro").save("person.avro") 你不必担心。你也无法避免这种做法 AVRO始终拥有数据和模式 AVRO不同于JSON,JSON存储数据本身中每个记录的模
df.write.format("avro").save("person.avro")
你不必担心。你也无法避免这种做法 AVRO始终拥有数据和模式 AVRO不同于JSON,JSON存储数据本身中每个记录的模式
使用AVRO,模式在每个文件中存储一次。所以没有什么值得考虑的问题。 < P>你不必担心。你也无法避免这种做法 AVRO始终拥有数据和模式 AVRO不同于JSON,JSON存储数据本身中每个记录的模式
使用AVRO,模式在每个文件中存储一次。所以没有什么要考虑的问题。< /P>那么答案是不正确的吗?谢谢你的回答,我同意你的观点,但是我需要把这些AVRO发布给卡夫卡,我想出版二进制AVRO的类似汇合的卡夫卡。因此,我最终编写了一个序列化程序,将Avro转换为二进制Avros。我不确定是否得到它,因为每个文件的Avro模式总是与Avro关联。avro是二进制格式。您可以使用自定义架构进行读取。你不能回避,但你可以像我过去看到的那样做融合的事情。我认为你把问答和你额外的见解混为一谈了。但是没有问题,成功。那么答案是错误的吗?谢谢你的回答,我同意你的观点,但是我需要向卡夫卡发布这些Avro,我想像合流卡夫卡一样发布二进制Avro,因此,我最终编写了一个序列化程序,将Avro转换为二进制Avros。我不确定是否得到它,因为每个文件的Avro模式总是与Avro关联。avro是二进制格式。您可以使用自定义架构进行读取。你不能回避,但你可以像我过去看到的那样做融合的事情。我认为你把问答和你额外的见解混为一谈了。但没有问题,成功。