将scala/spark shell中的多个变量提供给hive表

sy5wg1nm  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(363)

scala/sparkshell中有4个变量。

S1 = (a string) = "age"
S2 = (another string) = "school"
D1 = (a double) = 0.50
D2 = (another double) = 0.75

我要把这个喂到 hive 的table上,就像这样:
因子系数
年龄0.50
学校0.75
我能够从scala/spark shell创建表:

val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)

//后续工作

hiveContext.sql("create table students_table (factor STRING, coeff FLOAT) stored as orc")

但是,我不知道如何将这些值插入配置单元表。
我玩过插入和更新语句。我还玩过Dataframe。我也尝试过将数据转储到hdfs中的文本文件中(首先将它们转换为rdd),但是这种格式的出现使我无法将其用作配置单元表的素材。
我肯定我完全不知道该怎么做。
我们真诚地感谢您的帮助。

f1tvaqid

f1tvaqid1#

val input = sc.parallelize(Array((s1,D1), (s2, D2)))
case class StudentTable(factor : String, coeff : Double)
import sqlContext.implicits._
val df = input.map(x=>StudentTable(x._1, x._2)).toDF
df.saveAsTable("students_table", org.apache.spark.sql.SaveMode.Append)

相关问题