apache-spark - 如何使用spark将avro写入多个输出目录

标签 apache-spark avro spark-avro

嗨,有一个关于使用 MultipleTextOutputFormat 在一个 Spark 作业中将文本数据写入多个输出目录的主题

Write to multiple outputs by key Spark - one Spark job

我会问是否有一些类似的方法可以将 avro 数据写入多个目录

我想要的是将avro文件中的数据写入不同的目录(基于时间戳字段,时间戳中的同一天进入同一目录)

最佳答案

AvroMultipleOutputs类简化了将 Avro 输出数据写入多个输出的过程。

  • 情况一:写入作业默认输出以外的其他输出。每个额外的输出,或命名的输出,可以配置有自己的模式和输出格式。
  • 案例二:将数据写入用户提供的不同文件
  • AvroMultipleOutputs支持计数器,默认情况下它们是禁用的。计数器组是 AvroMultipleOutputs类(class)名称。计数器的名称与输出名称相同。这些计算写入每个输出名称的记录数。

    也看看
  • MultipleOutputer
  • MultipleOutputsFormatTest (在此处查看带有单元测试用例的代码示例... For some reason MultipleOutputs does not work with Avro, but the near-identical AvroMultipleOutputs does. These obviously related classes have no common ancestor so they are combined under the MultipleOutputer type class which at least allows for future extension.)
  • 关于apache-spark - 如何使用spark将avro写入多个输出目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40798008/

    相关文章:

    apache-spark - DataFrameReader 在读取 avro 文件时抛出 "Unsupported type NULL"

    java - 在 SQLContext 之外的 Java 中创建 SparkSQL UDF

    java - 为什么 avro 无法从 .avro 文件中获取架构?

    json - 从包含映射(键值对)的复杂 JSON 创建 Avro 模式

    python - 如何明确地指定 avro 联合​​类型的数据?

    apache-spark - 如何在不使用合并的情况下在本地系统的单个文件中写入 Spark 数据帧

    apache-spark - 如何手动将 Spark-Redshift AVRO 文件加载到 Redshift 中?

    mongodb - 尝试使用 scala 从 Spark 向 mongodb 写入 $group 聚合时出现重复键错误

    java - 如何通过避免 apache Spark 中的平面映射操作来提高性能

    apache-spark - 带有函数的pySpark withColumn