我在Cloudera群集中的Hive中有一些外部表,按daily_date
列进行分区。
我也有DataStax Enterprise Cassandra集群,在其中创建了与Hive表结构相同的表。
问题:我想将Hive表中的表数据导出/写入相应的Cassandra表。
是否有可用的Hive与Cassandra连接器?还是我需要在Spark中执行此操作(如果是)如何?什么是最佳实践/解决方案?
我尝试用谷歌搜索很多不同的关键字,但没有遇到任何正确/推荐的解决方案。
请指导。
仅将Spark与Spark Cassandra Connector一起使用,最好与Dataframe APIs一起使用。以described in Spark docs的身份访问Hive中的数据,并在获取数据帧后将其写入Cassandra。像这样的东西:
// assuming that table is registered already:
val df = sql("SELECT * from hive_table")
df.write
.format("org.apache.spark.sql.cassandra")
.options(Map("table" -> "...", "keyspace" -> "..."))
.save()