首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将spark数据帧的每一行写入不同的Hive表(使用Scala)?

如何将spark数据帧的每一行写入不同的Hive表(使用Scala)?
EN

Stack Overflow用户
提问于 2018-10-06 23:49:54
回答 1查看 100关注 0票数 0

我有一个如下所示的spark数据帧。第一列包含Party文本文件的内容(使用sc.wholeTextfile读取)。第二行包含标识符文本文件的内容。现在,我必须遍历下面数据帧的每一行,并写入不同的hive表。第一行应该写入Party表,第二行应该写入Identifier表,依此类推。

当我使用dataframe.foreaach遍历这个数据帧时,我不能使用spark session,因为spark session是不可序列化的。

代码语言:javascript
运行
复制
+--------------------+--------------+
|             content|         TblNm|
+--------------------+--------------+
|DSP_ID|DSP_PARTY_...|         Party|
|DSP_ID|DSP_Party_...|    Identifier|
|DSP_ID|DSP_Party_...| Communication|
|DSP_ID|DSP_Party_...|    Individual|
|DSP_ID|DSP_Party_...|      Language|
|DSP_ID|DSP_Party_...|          Name|
|DSP_ID|DSP_Party_...| Certification|
|DSP_ID|DSP_Party_...|Classification|
|DSP_Id|DSP_Party_...|  Organization|
|DSP_ID|DSP_Party_...|       Address|
|DSP_Id|DSP_Party_...|     Specialty|
|DSP_ID|Parent_DSP...|  Relationship|
|DSP_ID|DSP_Party_...|          Role|
+--------------------+--------------+
EN

回答 1

Stack Overflow用户

发布于 2018-10-07 00:55:25

缓存数据帧并使用N df.write...语句-使用过滤器。

实际上,可序列化意味着Spark不是以这种方式工作的,正如你注意到的那样,对于表使用spark session for Hadoop,对于jdbc to mysql等等,你可以使用foreach等,但不能通过df.write。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52680784

复制
相关文章

相似问题

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