我在HDP2.6.2上使用snappydata-1.0.1,spark 2.1.1并且能够从外部spark应用程序连接。但是当我通过将hive-site.xml添加到spark conf来启用hive支持时,snappysession将列出来自hivemetastore而不是snappystore的表。
SparkConf sparkConf = new SparkConf().setAppName("TEST APP");
JavaSparkContext javaSparkContxt = new JavaSparkContext(sparkConf);
SparkSession sps = new SparkSession.Builder().enableHiveSupport().getOrCreate();
SnappySession snc = new SnappySession(new SparkSession(javaSparkContxt.sc()).sparkContext());
snc.sqlContext().sql("show tables").show();
当hive-site.xml不在sparkconf中时,上面的代码给出了snappy存储中的表列表,如果添加了hive-site.xml,它会列出来自hive metastore的表。
在同一应用中是否不可能使用hive metastore和snappydata Metastore? 可以将hive表读入数据帧并将snappydata表读取到同一应用程序中的另一个DF吗? 提前致谢
答案 0 :(得分:1)
因此,问题不是蜂巢状的Metastore。您可以在同一个应用程序中使用Hive表和Snappy Tables。例如copy hive table into Snappy in-memory。 但是,我们需要测试在hive-site.xml中配置的外部hive Metastore的使用。也许是一个错误。
您应该尝试使用Snappy智能连接器。即使用HDP中的Spark分发运行Spark并使用连接器连接到Snappydata集群(请参阅文档)。在这里看起来您正在尝试使用Snappydata发行版运行您的Spark应用程序。