鉴于我可以从下面的单个插入语句中获取另一个堆栈溢出问题(谢谢),那么
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
sqlContext.sql("CREATE TABLE IF NOT EXISTS e360_models.employee(id INT, name STRING, age INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'")
sqlContext.sql("insert into table e360_models.employee select t.* from (select 1210, 'rahul', 55) t")
sqlContext.sql("insert into table e360_models.employee select t.* from (select 1211, 'sriram pv', 35) t")
sqlContext.sql("insert into table e360_models.employee select t.* from (select 1212, 'gowri', 59) t")
val result = sqlContext.sql("FROM e360_models.employee SELECT id, name, age")
result.show()
如果想要从已注册为临时表的SPARK DF中选择插入选项到现有的Hive表怎么办?我似乎无法让它发挥作用。它实际上可能吗?
使用1.6 SPARK。没有兴趣创建一个CTAS表,而是按照上面的方式插入,但是批量,例如。
sqlContext.sql("INSERT INTO TABLE default.ged_555 SELECT t.* FROM mytempTable t")
答案 0 :(得分:2)
据我所知,你想要插入一些数据
UserType = m.UserId == 0 ? UserType="UnKnown" :"Documents Scanned",
,然后您想要选择一些列和 再次插入e360_models.employee
,您也不想进行CTAS 从default.ged_555
准备一个数据框,然后执行以下操作
e360_models.employee