我们已经从火花壳和Zepellin创建了测试表。但是当我们确实在单个表上显示表时在各自的环境中可见。在Zepellin show table命令中不显示通过spark shell创建的表。 这两个表有什么区别?任何人都可以解释一下。
答案 0 :(得分: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")
中找到此(及更多)信息