我想将数据从kafka(做一些mapreduce工作)发送到hive
这是否适合使用火花流?
还是一些更好的方法?
答案 0 :(得分:1)
您可以使用Kafka Connect和HDFS连接器执行此操作。这会将数据从Kafka流式传输到HDFS,并自动将Hive表定义在顶部。它可用standalone或Confluent Platform的一部分。
免责声明:我为Confluent工作。
答案 1 :(得分:0)
从流媒体的角度来看,提前构建的Hive表,使用Spark Streaming或Flink转储将在大多数情况下工作正常,但是如果Spark作业中Hive输出的模式发生了变化怎么办?您可能想要Streamsets,Kafka Connect HDFS Connector或Apache Gobblin
的地方另外,请记住,HDFS不喜欢处理小文件,因此在HDFS之前设置大批量大小将有利于以后的Hive消费
答案 2 :(得分:0)
Hive文档中已经有一种Hive-Kafka ETL实践。
用户可以创建一个外部表,该表是一个有关Kafka主题的视图
有关更多信息: https://github.com/apache/hive/tree/master/kafka-handler