为什么将数据集保存到 Impala 并将其加载回不会产生任何行?

Why does saving dataset to Impala and loading it back yield no rows?

  1. 从 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()
  1. 从第一个 Spark 数据帧

    创建一个新的 table

    sql_df1.write.mode("overwrite").format("parquet").saveAsTable("database1.table2")

  2. 刷新 impala 中的元数据,在 HUE 中我可以看到数据库 1。table2 有 10 行正确的数据

  3. 使用新 table 创建新的 Spark 数据框。

    sql_df2 = hive_context.sql("SELECT * FROM database1.table2 LIMIT 10")
    
  4. 问题:新的 sql_df2 没有行,只有 headers.

    print(sql_df2.count())
    sql_df2.show()
    

我发现了问题,格式必须是 "hive" 而不是 parquet。