首页 > 解决方案 > 蜂巢选择查询在火花创建外部表时抛出异常使用ORC格式

问题描述

我已经通过 spark-shell 创建了示例表。按分区将 datframe 写入外部表使用 ORC 格式。它是在 spark-shell 中读取/写入的工作文件。但是当我尝试在 hive-shell 上执行相同的选择查询时,它会抛出异常。

下面我已经实现的代码

scala> val df = sc.parallelize(Seq((1,"Sudhir",30),(2,"Sourabh",27),(3,"Suman",35),(4,"Basu",30) )).toDF("id","name","age")

scala>df.write.partitionBy("age").format("ORC").mode(SaveMode.Append).saveAsTable("Abc1")

scala> val df3 = sqlContext.sql("select * from abc1")

scala> df3.dropDuplicates(Seq("id")).show()

耗时:0.486 秒,获取:35 行 hive (sba_db_2018)> select * from Abc1; OK abc1.col 失败,出现异常 java.io.IOException:java.io.IOException: hdfs://nag1-vm-sprintba-11.synapse.com:8020/apps/hive/warehouse/sba_db_2018.db/abc1/age =27/part-r-00001-31ebd621-02bb-4db5-9170-5405010e68fd.orc 不是 SequenceFile 耗时:0.147 秒

标签: scalahivehortonworks-data-platformorcspark-shell

解决方案


推荐阅读