如何从 kafka 读取 Avro 架构类型的事件并将其存储在 Hive 表中



我的想法是使用 Spark Streaming + Kafka 从 kafka 总线获取事件。在检索一批 avro 编码的事件后,我想使用 Spark Avro 将它们转换为 SparkSQL 数据帧,然后将数据帧写入 Hive 表。

这种方法可行吗?我是 Spark 的新手,我不完全确定是否可以使用 Spark Avro 包来解码 Kafka 事件,因为在文档中只提到了 avro 文件。但到目前为止,我的理解是,这是可能的。

下一个问题是:如果这是可能的,我的理解是,我有一个符合SparkSQL的数据帧,我可以将其写入Hive表。我的假设正确吗?

提前感谢您的任何提示和提示。

是的,你可以做到这一点 http://aseigneurin.github.io/2016/03/04/kafka-spark-avro-producing-and-consuming-avro-messages.html

可以将数据集另存为 Hive 表或以 orc 格式写入数据。您还可以在 hdfs 中以所需格式写入数据,并在此基础上创建一个外部 Hive 表。