2

我们已经从 spark shell 和 Zepellin 创建了测试表。但是当我们在单个表上显示表时,在各自的环境中是可见的。通过 spark shell 创建的表不会显示在 Zepellin show table 命令中。这两张表有什么区别?谁能解释一下。

4

1 回答 1

1

show tables命令仅显示当前会话中定义的表。

表是在当前会话中创建的,也在 Zookeeper 中的(持久)目录中创建。您可以通过以下命令显示 Vora 在 Zookeeper 中保存的所有表:

SHOW DATASOURCETABLES 
    USING com.sap.spark.vora 
    OPTIONS(zkurls "<zookeeper_server>:2181")  

您还可以通过以下命令在当前会话中注册所有或单个表:

REGISTER ALL TABLES 
    USING com.sap.spark.vora 
    OPTIONS(zkurls "<zookeeper_server>:2181")  
REGISTER TABLE <tablename> 
    USING com.sap.spark.vora 
    OPTIONS(zkurls "<zookeeper_server>:2181")

因此,如果您想从 Zookeeper 访问您在 Spark Shell 中创建的表,反之亦然,您需要先注册它。

如果需要清除 Zookeeper 目录,可以使用这些命令。请注意,然后需要重新创建表:

import com.sap.spark.vora.client._
ClusterUtils.clearZooKeeperCatalog("<zookeeper_server>:2181")

这些(以及更多)信息可以在Vora 安装和开发指南中找到

于 2016-01-14T20:55:27.750 回答