【发布时间】:2016-01-19 16:28:40
【问题描述】:
我通过在我的数据帧上调用 .saveAsTable 创建了一个 Spark SQL 表。该命令完全成功。但是,现在当我查询表格时,镶木地板文件似乎已损坏。我看到了这个错误:
"Failed with exception java.io.IOException:java.io.IOException: hdfs://ip:8020/user/hive/warehouse/people/part-r-00001.parquet not a SequenceFile"
我在 spark-shell 中遵循的以下步骤
scala >val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
scala>val path="test.json"
scala>val people = sqlContext.jsonFile(path)
scala> people.saveAsTable("people")
之后我打开了 hive 命令提示符
hive> select * from people;
OK Failed with exception java.io.IOException:java.io.IOException: hdfs://IP:8020/user/hive/warehouse/people/part-r-00001.parquet not a SequenceFile Time taken: 0.276 seconds
如何获得我的蜂巢表(人)结果。
请让我知道任何事情,不要明智地更改配置。
如何解决上述异常。
提前致谢。
【问题讨论】:
-
尝试将
spark.sql.hive.convertMetastoreParquet设置为false -
嗨塞巴斯蒂安,感谢您的回复
-
嗨 Sebastian,感谢您的回复。我已根据您的建议进行了必要的更改,即我已在我的“spark-defaults.conf”中将 spark.sql.hive.convertMetastoreParquet 添加为 false,例如 (spark. sql.hive.convertMetastoreParquet false) 然后我重新启动了我的集群。但我仍然遇到同样的错误。你能帮忙吗?
标签: apache-spark hive pyspark apache-spark-sql hiveql