2016-06-13 7 views

答えて

0

あなたは、コード、それを自己のあなたの解釈に問題があり、この

val df3 = hctx.read.json("/development/sr3/data/test/testweet.json") 
df3.registerTempTable("tweet") 
sqlContext.sql("SELECT count(*) FROM tweet") 
0

を試すことができます。

REG

が、ハイブ文脈で一時 テーブルの登録中にボイドデータフレームが返却されます。

あなたのコードは、最初にデータフレームを作成し、それを一時テーブルで登録し、registerTempTableの結果を返し、それをdf3に割り当てます。 df3にread.json()の結果を代入していません。

DatafrmeとTempテーブルの両方を使用する場合は、 に記載されているVijayに従ってください。あなたのコードの

意味: (データフレームを作成し、一時テーブルのつぶやきとして登録し、DF3するregisterTempTableの戻り値を割り当てる) ので、DF3はread.jsonない、registerTempTableの値を返したでしょう。

ビジェイのコードの

意味: //( "/開発/ SR3 /データ/テスト/ testweet.json")のデータフレームを作成し、 ヴァルDF3 = hctx.read.jsonをDF3に割り当て

//一時テーブル df3.registerTempTable( "つぶやき")にDF3を登録

は、このいずれかの操作を行います。

val df3 = hctx.read.json("/development/sr3/data/test/testweet.json"); df3.registerTempTable("tweet") 

OR

val df3 = hctx.read.json("/development/sr3/data/test/testweet.json").registerTempTable("tweet").show()最終的なDFを返します。再び、しかし意味をなさない。

全体的に、あなたはポイントを得たと思います。あなたは最終的にあなたが帰ったことを確実にする必要があります

関連する問題