首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用SparkSql插入值

无法使用SparkSql插入值
EN

Stack Overflow用户
提问于 2020-04-12 16:12:48
回答 2查看 61关注 0票数 0

我需要使用sparksql.I在我的hive表中插入一些值。我使用以下代码。

代码语言:javascript
复制
    val filepath:String = "/user/usename/filename.csv'"
    val fileName : String = filepath
    val result = fileName.split("/") 
    val fn=result(3)  //filename
    val e=LocalDateTime.now() //timestamp

首先,我尝试使用Insert Into Values,但后来我发现此功能在sparksql中不可用。

代码语言:javascript
复制
    val ds=sparksession.sql("insert into mytable("filepath,filename,Start_Time")  values('${filepath}','${fn}','${e}')

有没有其他方法可以使用sparksql插入这些值(mytable是空的,我每天都需要加载这个表)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-12 17:30:23

您可以直接使用Spark Dataframe Write API将数据插入到表中。如果您没有Spark Dataframe,那么首先使用spark.createDataFrame()创建一个Dataframe,然后尝试如下写入数据:

df.write.insertInto("name of hive table")

票数 0
EN

Stack Overflow用户

发布于 2020-04-12 19:09:02

嗨,下面的代码对我很有效,因为我需要在我的数据框中使用变量,所以我首先从选定的数据创建数据框,然后使用保存在hive表中的df.write.insertInto(表名)。

代码语言:javascript
复制
    val filepath:String = "/user/usename/filename.csv'"
    val fileName : String = filepath
    val result = fileName.split("/") 
    val fn=result(3)  //filename
    val e=LocalDateTime.now() //timestamp
    val df1=sparksession.sql(s" select '${filepath}' as file_path,'${fn}' as filename,'${e}' as Start_Time")
    df1.write.insertInto("dbname.tablename")
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61168575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档