2016-11-28 6 views
-2

私は非常にApache Sparkを新しくしました。
ローカルWindowsマシンにspark 2.0.2を既に設定しています。 私はsparkで「単語数」の例を使っています。
今、SQLクエリを実行する際に問題があります。 私は同じものを探しましたが、適切な指針を得ていません。Apache Sparkでsqlクエリを実行する方法


大変助かりました!
ありがとうございました!

あなたはもはやあなたがする必要があるので、 sqlContextを参照していないのではなく、 sparkスパーク2.xで
+0

あなたの問題は何ですか?何かエラーが出ていますか? –

+0

エラー:見つからない:value sqlContext –

+0

以下のコマンドを実行中に上記の例外が発生しています –

答えて

0

spark 
    .read 
    .format("jdbc") 
    .option("url", "jdbc:mysql://localhost:3306/mydb") 
    .option("driver", "com.mysql.jdbc.Driver") 
    .option("dbtable", "mydb") 
    .option("user", "root") 
    .option("password", "") 
    .load() 
2

だから、あなたはそれを成し遂げるためにこれらのことを行う必要があり、

をスパークで2.0.2では、SparkContextインスタンスとsqlContextインスタンスを含むSparkSessionを持っています。

そのための手順は次のようになります。

ステップ1:あなたのケースMySQLでデータベースから負荷: SparkSession

val spark = SparkSession.builder().appName("MyApp").master("local[*]").getOrCreate() 

ステップ2を作成します。

val loadedData=spark 
     .read 
     .format("jdbc") 
     .option("url", "jdbc:mysql://localhost:3306/mydatabase") 
     .option("driver", "com.mysql.jdbc.Driver") 
     .option("mytable", "mydatabase") 
     .option("user", "root") 
     .option("password", "toor") 
     .load().createOrReplaceTempView("mytable") 

ステップ3:今あなたがSqlDatabaseでやるだけのようなあなたのSQLQueryを実行することができます。

val dataFrame=spark.sql("Select * from mytable") 
dataFrame.show() 

P.S:あなたはデータフレームのAPIやデータセットのAPI場合は、しかし、あなたがドキュメントを通過する必要があるそれらのためのより良いを使用する場合、それが良いだろう。

文書へのリンク:https://spark.apache.org/docs/2.0.0/api/scala/index.html#org.apache.spark.sql.Dataset

関連する問題