2017-02-22 10 views
0

sparkを使用してインクリメンタル・インサートを実装したいと思います。私がここで使用しているアプローチは、主キーの最大値を取得し、それを設定ポイントとして使用することです。しかし、問題はどのように私はデータフレームを変換し、別のクエリに渡すことができますです。私はidとMAXR same.Doingするの値を見てみたいと思います spark/passデータフレーム値を別のsparksqlクエリに使用するインクリメンタル・インサート

query="""select requestid as maxr from st where requestid='{}'""".format(id) 
dfjoin = sqlContext.sql(query) 
dfjoin.show() 

クエリの下に

id=sqlContext.sql("""select max(requestid) as maxr from st""") 

パスIDは、上記の動作するようには思えないし、任意の値を返していません。

助けてください。おかげ

+0

を働いた。(コレクト)(0 ).getLong(0) '...これは、あなたのコードIDの値を与えるでしょう... id = sqlContext.sql(" "select max(requestid)from maxr from st" "")あなたのコードのIDはdataFrameです –

+0

です。 collect()[0] [0]は私のために働いた。一方、getLong(0)を使用すると、呼び出し可能なエラーが発生していた –

+0

構文はscalaで使用されています... –

答えて

0

おかげで、以下

は `ID = sqlContext.sqlは( "" "" "目からMAXRとして最大(requestid)を選択")私のため

id=sqlContext.sql("""select max(requestid) as maxr from st""").collect()[0][0] 
関連する問題