0

我设置了一个 spark-cassandra 集群。cqlsh 工作得很好。我启动了 thriftserver 并使用 beeline 命令行连接到它。我可以

use schemaname
show schemas
show tables

但一个简单的

select * from tablename 

卡住。

我尝试了一个通过 jdbc:hive2 接口的 java 客户端,它显示了相同的行为。显示表上的好结果,但简单的选择语句没有回报。

spark 控制台显示所有作业,没有任何抱怨的迹象。作业卡在 Compiled 阶段。

有人知道如何更深入地诊断吗?

4

2 回答 2

0

在 sql 中为 cassandra 表创建临时表。像下面这样

scala> sqlContext.sql(
   """CREATE TEMPORARY TABLE words
     |USING org.apache.spark.sql.cassandra
     |OPTIONS (
     |  table "words",
     |  keyspace "test",
     |  cluster "Test Cluster",
     |  pushdown "true"
     |)""".stripMargin)
scala> val df = sqlContext.sql("SELECT * FROM words")
scala> df.show()
于 2016-05-03T06:29:48.667 回答
0

我对编码很好。这个问题就解决了。这是因为这个设置没有通过 yarn,thriftserver 的第一个实例占用了集群中的所有核心。我针对第二个 thriftserver 实例触发了 sql,该实例有 0 个内核可供使用。

于 2016-05-04T00:18:32.777 回答