2016-04-18 6 views
-1

サンプル表:Spark SQLのwhere節を変数としてクエリに渡すにはどうすればいいですか?

+---------------------------------------------------------++------+ 
    |     Name_Age        || ID | 
    +---------------------------------------------------------++------+ 
    |"SUBHAJIT SEN":28,"BINOY MONDAL":26,"SHANTANU DUTTA":35 || 15 | 
    |"GOBINATHAN SP":35,"HARSH GUPTA":27,"RAHUL ANAND":26  || 16 | 
    +---------------------------------------------------------++------+ 

クエリに変数としてWHERE句を渡す方法は?

希望のクエリはSelect Name_Age from table where ID=15です。ここで変数はID = 15です。

答えて

2

データがすでに(ハイブテーブルまたはDataFrameregisterTempTableを呼び出した後)テーブルとして登録されている場合は、SQLContext.sqlを使用することができます。

val whereClause: String = "ID=15" 
sqlContext.sql("Select Name_Age from table where " + whereClause) 

あなたが照会するdf: DataFrameオブジェクトがある場合:

// using a string filter: 
df.filter(whereClause).select("Name_Age") 
+0

where節をハードコードしたくありません。変数として渡したいと思います。 –

+0

変数を使用してwhere句に値を渡したい場合は –

+0

最初に - あなたの質問ではっきりしてください - 例を入力してください!どの部分が渡された値でなければなりません - "15"? "ID = 15"? –

-2

次のコードは、あなたの答えを得ることができます。

spark.sql("""Select Name_Age from table where ID='15'""") 
関連する問題