-2
今、sqoopを使ってrdbmsに自分のデータを書きます。したがって、データはhdfsに、次にrdbmsに格納されます。 rddをHiveに直接格納する方法はありますか?spark Scalaを使ってリモートハイブにrddを保存してロードするには?
今、sqoopを使ってrdbmsに自分のデータを書きます。したがって、データはhdfsに、次にrdbmsに格納されます。 rddをHiveに直接格納する方法はありますか?spark Scalaを使ってリモートハイブにrddを保存してロードするには?
はいあなたはハイブにRDD
を書くことができ、ハイブへRDD
を書くための一つの方法は、DfのにRDDを変換することで、その後saveTableAs()
import org.apache.spark.sql.hive.HiveContext
val hiveContext = new HiveContext(sc)
import hiveContext.implicits._
//read data perform some transformation
val myDF = myRdd.toDF("column names")
以下のように次に、あなたがテーブルを作成し、データをダンプすることができます
myDF.write.saveAsTable("tableName")
//with save mode
myDF.write().mode(SaveMode.Overwrite).saveAsTable("tableName")
あなたは、 SaveModesは追加は、無視されている上記のようにモードを保存する追加上書きすることができ、ErrorIfExists
Shankarありがとうございました。リモートHiveにrddを保存したい場合はどうすればそのハイブに接続して特定のDBを使用することもできます – Aswathy
これが役立つことを願っていますhttp://stackoverflow.com/questions/39997224/how-to-リモートからハイブに接続するサーバーからスパークへの接続。これが助けになったら回答として受け入れてください。 –
スカラーでDBOutputFormatのようなものを使用するには – Aswathy