sql 查询 spark-cassandra 集群 thriftserver 没有 return
sql query to spark-cassandra cluster thriftserver does not return
我设置了一个 spark-cassandra 集群。 cqlsh 工作得很好。我启动了 thriftserver 并使用直线命令行连接到它。我可以
use schemaname
show schemas
show tables
但是一个简单的
select * from tablename
卡住了。
我尝试了一个 java 客户端通过 jdbc:hive2 界面,它显示了相同的行为。显示表上的好结果,但没有 return
简单的 select 声明。
spark 控制台显示所有作业,没有任何投诉迹象。作业停留在已编译阶段。
有人知道如何更深入地诊断吗?
在 sql 中为 cassandra table 创建临时 table。喜欢以下方式
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()
我对编码没意见。这个问题就解决了。这是因为这个设置没有通过 yarn,thriftserver 的第一个实例占用了集群中的所有核心。我对第二个 thriftserver 实例发射了 sql ,它有 0 个核心供其使用。
我设置了一个 spark-cassandra 集群。 cqlsh 工作得很好。我启动了 thriftserver 并使用直线命令行连接到它。我可以
use schemaname
show schemas
show tables
但是一个简单的
select * from tablename
卡住了。
我尝试了一个 java 客户端通过 jdbc:hive2 界面,它显示了相同的行为。显示表上的好结果,但没有 return 简单的 select 声明。
spark 控制台显示所有作业,没有任何投诉迹象。作业停留在已编译阶段。
有人知道如何更深入地诊断吗?
在 sql 中为 cassandra table 创建临时 table。喜欢以下方式
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()
我对编码没意见。这个问题就解决了。这是因为这个设置没有通过 yarn,thriftserver 的第一个实例占用了集群中的所有核心。我对第二个 thriftserver 实例发射了 sql ,它有 0 个核心供其使用。