0
動的データフレームから、テンポラブルを登録しようとしています。sparkで誘惑的な誘惑力のある動的データフレームを作成する
出力を文字列として取得していますが、データフレームを実行したり、文字列をデータフレームに変換して誘惑を作成する方法があるかどうかはわかりません。ここで
は、この問題を再現する手順は、次のとおりです。ここ
import org.apache.spark.sql._
val contact_df = sc.makeRDD(1 to 5).map(i => (i, i * i)).toDF("value", "square")
val acct_df = sc.makeRDD(1 to 5).map(i => (i, i/i)).toDF("value", "devide")
val dataframeJoins = Array(
Row("x","","","" ,"Y","",1,"contact_hotline_df","contact_df","acct_nbr","hotline_df","tm49_acct_nbr"),
Row("x","","","","Y","",2,"contact_hotline_acct_df","acct_df","tm06_acct_nbr" ,"contact_hotline_df","acct_nbr")
)
val dfJoinbroadcast = sc.broadcast(dataframeJoins)
val DFJoins1 = for (row <- dfJoinbroadcast.value) yield {
(row(8)+".registerTempTable(\""+row(8)+"\")")
}
for (rows <- 0 until DFJoins1.size){
println(DFJoins1(rows))
DFJoins1(rows)
}
は、forループ上記の出力である:
contact_df.registerTempTable("contact_df")
acct_df.registerTempTable("acct_df")
私はエラーを取得しておりません。しかし、テーブルは作成されていません。
私はsqlContext.sql( "select * from contact_df")と言うと、テーブルが作成されていないというエラーが表示されます。
文字列をデータフレームに変換し、データフレームを実行して魅力的なものを作成する方法はありますか?
お勧めします。
おかげで、 Sreehari
私はあなたのコードを理解しようとしていますが、それは非常に不器用だが。私はスタートのためにいくつかのインデントを入れました。最初の大文字でメソッドを呼び出さないでください。 –
forループは基本的に 'contact_df.registerTempTable(" contact_df ")'を出力しますが、このコードは実行しません。また、代わりに、新しい 'createOrReplaceTempView()'メソッドを使用したいと思います。 –
'.map(i =>(i、i/i))' - > '.map((_、1))'あなたの質問に? –