如何使用spark Scala将rdd保存并加载到远程配置单元?

时间:2017-05-08 07:32:51

标签: apache-spark hive

现在我正在使用sqoop将数据写入rdbms。所以它将数据存储到hdfs然后存储到rdbms。有没有办法直接将rdd存储到Hive?

1 个答案:

答案 0 :(得分:1)

是的,您可以将RDD写入hive,将RDD写入hive的一种方法是将RDD转换为Df,然后将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