为什么将数据集保存到 Impala 并将其加载回不会产生任何行?
Why does saving dataset to Impala and loading it back yield no rows?
从 Impala table
中选择创建 Spark 数据框
sql_df1 = hive_context.sql("SELECT * FROM database1.table1 LIMIT 10")
1.1 此数据框 returns 行计数 10 并显示正确数据:sql_df1
print(sql_df1.count())
sql_df1.show()
从第一个 Spark 数据帧
创建一个新的 table
sql_df1.write.mode("overwrite").format("parquet").saveAsTable("database1.table2")
刷新 impala 中的元数据,在 HUE 中我可以看到数据库 1。table2 有 10 行正确的数据
使用新 table 创建新的 Spark 数据框。
sql_df2 = hive_context.sql("SELECT * FROM database1.table2 LIMIT 10")
问题:新的 sql_df2 没有行,只有 headers.
print(sql_df2.count())
sql_df2.show()
我发现了问题,格式必须是 "hive" 而不是 parquet。
从 Impala table
中选择创建 Spark 数据框sql_df1 = hive_context.sql("SELECT * FROM database1.table1 LIMIT 10")
1.1 此数据框 returns 行计数 10 并显示正确数据:sql_df1
print(sql_df1.count())
sql_df1.show()
从第一个 Spark 数据帧
创建一个新的 tablesql_df1.write.mode("overwrite").format("parquet").saveAsTable("database1.table2")
刷新 impala 中的元数据,在 HUE 中我可以看到数据库 1。table2 有 10 行正确的数据
使用新 table 创建新的 Spark 数据框。
sql_df2 = hive_context.sql("SELECT * FROM database1.table2 LIMIT 10")
问题:新的 sql_df2 没有行,只有 headers.
print(sql_df2.count()) sql_df2.show()
我发现了问题,格式必须是 "hive" 而不是 parquet。