0

をカサンドラコンテキストを使用する方法を、私は、スパークコンテキストを使用して作成カサンドラコンテキストを使用して1.6.1のようにスパークの以前のバージョンでは、スパークに2.0

import org.apache.spark.{ Logging, SparkContext, SparkConf } 
//config 
val conf: org.apache.spark.SparkConf = new SparkConf(true) 
.set("spark.cassandra.connection.host", CassandraHost) 
.setAppName(getClass.getSimpleName) 
lazy val sc = new SparkContext(conf) 
val cassandraSqlCtx: org.apache.spark.sql.cassandra.CassandraSQLContext = new CassandraSQLContext(sc) 
//Query using Cassandra context 
    cassandraSqlCtx.sql("select id from table ") 

しかし、スパーク2.0では、スパークコンテキストがスパークセッションに置き換えられています、どのように私はcassandraコンテキストを使用することができますか?

答えて

4

短い回答:あなたはしません。廃止され、削除されました。

長い回答:したくないです。 HiveContextは、カタログを除くすべてのものを提供し、より広い範囲のSQL(HQL〜)をサポートします。 Spark 2.0では、Cassandraテーブルを手動で登録する必要があるということは、ExternalCatalogueが実装されるまでcreateOrReplaceTempViewを使用することを意味します。 SQLで

これは、これらのコマンドの両方がSQLクエリのテーブル "言葉" を登録します

spark 
.read 
.format("org.apache.spark.sql.cassandra") 
.options(Map("keyspace" -> "test", "table" -> "words")) 
.load 
.createOrReplaceTempView("words") 

のように見える生DF APIで

spark.sql("""CREATE TEMPORARY TABLE words 
    |USING org.apache.spark.sql.cassandra 
    |OPTIONS (
    | table "words", 
    | keyspace "test")""".stripMargin) 

のように見えます。

+0

こんにちは@RussS、私はJavaでSQLを書いている場合のオプションを設定する方法は? –

+0

http://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/DataFrameReader.html – RussS