【问题标题】:Generate schema less avro using Spark使用 Spark 生成无模式 avro
【发布时间】:2020-04-21 13:11:57
【问题描述】:

有没有办法从 Apache spark 生成少架构的 avro?我可以看到一种通过 Java/Scala 使用 apache avro 库和通过 confluent avro 生成它的方法。当我以下面的方式从 Spark 编写 Avro 时,它会创建带有架构的 Avro。我想在没有架构的情况下创建以减少最终数据集的大小。

df.write.format("avro").save("person.avro")

【问题讨论】:

  • 那么答案不正确吗?
  • 感谢您的回答,我同意您的观点,但是我需要将这些 Avro 发布到 Kafka,并且我想像 confluent Kafka 一样发布二进制 avro,所以我最终编写了一个序列化程序来转换 Avro到二进制 Avros。
  • 不确定我是否明白,因为每个文件的 avro 架构总是与 avro 相关联。 avro 是二进制格式。您可以使用自定义架构进行阅读。你无法避免,但你可以做我过去看到的融合的事情。
  • 我认为您将问答与您的额外见解混淆了。但没问题,成功了。

标签: apache-spark apache-spark-sql avro spark-avro avro-tools


【解决方案1】:

您不必担心。而且你不能避免这种方法。

AVRO 始终拥有数据和架构。

AVRO 与 JSON 不同,后者存储驻留在数据本身中的每条记录的架构。

使用 AVRO,架构每个文件存储一次。所以几乎不需要考虑开销。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 2014-08-24
    相关资源
    最近更新 更多