无法从Spark Shell访问配置单元EXTERNAL表

时间:2018-07-24 14:20:26

标签: apache-spark hive external

我们创建了一个phoenix表,然后使用PhoenixStorageHandler创建了蜂巢外部表,如下所示:

create external table ext_employee(id int,name string) STORED BY 'org.apache.phoenix.hive.PhoenixStorageHandler' TBLPROPERTIES ("phoenix.table.name" = "phx_employee","phoenix.zookeeper.quorum" = "master.com,slave1.com,slave2.com","phoenix.zookeeper.znode.parent" = "/hbase", "phoenix.zookeeper.client.port" = "2181","phoenix.rowkeys" = "id","phoenix.column.mapping" = "id:ID, name:NAME");

我们能够从蜂巢壳查询外部表并查看记录。 当我们尝试从spark shell查询相同的外部配置单元表时,它会打印表列,但不会打印记录。它只是打印如下:

+--------------+    
|id|name    
+------+----+---  

我们在蜂巢中创建了一个表(不是外部表),并且能够从spark壳中获取记录。我们仅看到配置单元EXTERNAL表存在问题。

无法理解我们缺少什么。我们正在集群环境中尝试使用2个数据节点。

有人可以帮忙吗?

我们所做的事情:

  1. 我们通过添加所需的罐子来打开火花壳

    ./spark-shell --jars /usr/hdp/2.5.3.0-37/phoenix/phoenix-4.7.0.2.5.3.0-37-hive.jar /usr/hdp/2.5.3.0-37/phoenix/phoenix-4.7.0.2.5.3.0-37-client.jar /usr/hdp/2.5.3.0-37/phoenix/lib/phoenix-spark-4.7.0.2.5.3.0-37.jar /usr/hdp/2.5.3.0-37/phoenix/lib/phoenix-core-4.7.0.2.5.3.0-37.jar /usr/hdp/2.5.3.0-37/phoenix/lib/phoenix-hive-4.7.0.2.5.3.0-37.jar /usr/hdp/2.5.3.0-37/phoenix/phoenix-4.7.0.2.5.3.0-37-server.jar --files /usr/hdp/2.5.3.0-37/hive/conf/hive-site.xml  
    
  2. 上面提到的所有与phoenix相关的jar都添加到了hive / lib目录中

0 个答案:

没有答案