如何在spark中读取orc事务hive表?

时间:2018-05-09 13:26:38

标签: apache-spark hive apache-spark-sql orc

    1. 如何在spark中读取orc事务hive表?

      我在阅读ORC交易表时遇到问题    火花我得到蜂巢表的架构,但无法读取实际数据

      查看完整方案:

      蜂房> create table default.Hello(id int,name string)    (id)分为两个存储桶存储为ORC TBLPROPERTIES    ( '交易'= '真');

      蜂房>插入default.hello值(10,'abc');

      现在我试图从Spark sql访问Hive Orc数据,但它显示    只有架构

        

      spark.sql(“select * from hello”)。show()

      输出:id,name

3 个答案:

答案 0 :(得分:0)

您需要在最后添加操作以强制它运行查询:

spark.sql("Select * From Hello").show()

(此处默认显示20行)

spark.sql("Select * From Hello").take(2)

查看2行输出数据。

这些只是可以在DataFrame上执行的操作的示例。

答案 1 :(得分:0)

spark目前不完全兼容hive事务表(2.3版)。解决方法是在进行任何事务处理后在表上进行压缩。

  

ALTER TABLE Hello COMPACT'major';

这种压缩应该使您能够查看数据。 (一段时间后,数据将被压缩)

答案 2 :(得分:0)

是的,作为一种解决方法,我们可以使用压缩,但是当工作是微型批处理时,压缩将无济于事。所以我决定使用JDBC调用。请在下面的链接中参考我对这个问题的答案,或者参考我的GIT页面-https://github.com/Gowthamsb12/Spark/blob/master/Spark_ACID

Please refer my answer for this issue