Apache spark 使用蜂箱和Spark Cassandra连接器?

Apache spark 使用蜂箱和Spark Cassandra连接器?,apache-spark,cassandra,apache-spark-sql,Apache Spark,Cassandra,Apache Spark Sql,我可以将蜂箱与Spark cassandra连接器配合使用吗 scala> import org.apache.spark.sql.hive.HiveContext scala> hiveCtx = new HiveContext(sc) 这将产生: ivysettings.xml file not found in HIVE_HOME or HIVE_CONF_DIR, /etc/hive/conf.dist/ivysettings.xml will be used 然

我可以将蜂箱与Spark cassandra连接器配合使用吗

scala> import org.apache.spark.sql.hive.HiveContext
scala> hiveCtx = new HiveContext(sc)
这将产生:

ivysettings.xml file not found in HIVE_HOME or HIVE_CONF_DIR,    
/etc/hive/conf.dist/ivysettings.xml will be used
然后

 scala> val rows = hiveCtx.sql("SELECT first_name,last_name,house FROM 
           test_gce.students WHERE student_id=1")
导致此错误的原因:

 org.apache.spark.sql.AnalysisException: no such table test_gce.students; line 1 pos 48
   at    org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.getTable(Analyzer.scala:260)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$$anonfun$apply$7.applyOrElse(Analyzer.scala:268)

是否可以从SparkContext创建HiveContext,并在使用Spark cassandra连接器时使用它

scala> import org.apache.spark.sql.hive.HiveContext
scala> hiveCtx = new HiveContext(sc)
下面是我如何称呼spark shell的:

spark-shell --jars ~/spark-cassandra-connector/spark-cassandra-connector-assembly-1.4.0-M1-SNAPSHOT.jar --conf spark.cassandra.connection.host=10.240.0.0
此外,我还能够使用纯连接器代码成功访问Cassandra,而不仅仅是使用Hive:

scala> val cRDD=sc.cassandraTable("test_gce", "students")
    scala>cRDD.select("first_name","last_name","house").where("student_id=?",1).collect()
res0: Array[com.datastax.spark.connector.CassandraRow] =     
Array(CassandraRow{first_name: Harry, last_name: Potter, house: Godric Gryffindor})

例外情况是“没有这样的表格测试学生”。这张桌子存在吗?是的。仅使用纯连接器本身,我就能够成功访问它。我想知道我是否可以使用hiveContext来实现这一点。您是否使用相同的“hive default.xml”以及它是否位于SPARK_HOME/conf目录中?您还可以尝试使用--files选项传递配置单元默认值。是的,如果连接器使用hive-default.xml,则可以使用HIveContext。通常,当连接器使用不同的元存储URL时,会发生此错误。