目前,我正在使用Spark 2.1.0,作为我的数据摄入作业的一部分,我必须使用insertinto方法将数据摄入蜂巢表中。但是有Spark 2.1版本的错误,插入方法将在将数据插入蜂巢表的同时无法维护列序列。
我已经尝试使用附加模式使用可保护的方法,但是当我在数据摄入之前先用正确的数据类型手动创建表。
。我试图从现有的Hive表中创建火花数据框架,并尝试从中获取列序列,并传递此列表结果以确保列序列,但每次在Hive Table上创建数据框架以获取列序列。每次加载蜂巢表以创建数据框架时,是否是内存开销?
是否有人有想法,如何以更好的方法将数据摄入到蜂巢表中的列序列?
您可能会尝试首先获取蜂巢表的列,然后将它们应用于Spark DataFrame:
target_table = sqlContext.table("my_target_table")
my_df.select(*target_table.columns).saveAsTable("my_target_table")