【发布时间】:2019-01-29 17:01:23
【问题描述】:
我想将数据从 1 个 cassandra 表传输到另一个。但是如果表中缺少某些列,则应忽略并插入剩余的列,如果数据框中缺少某些列,则该列应为 null。
consider an example,
emp_src table -having fields as
id,name,dept
and emp_dst -having fields as
id,name,salary
我想将数据从源表传输到目标表。 在转移时我应该忽略部门表(因为它不在目标表中)。 并且目标表的工资列应插入空值。 我能够读取 spark sql 数据框中的表。
df1= having data from emp_src
df2= having data from emp_dst
df3= doing some computation between them to append the rows of df1 to df2.
但是如何处理上述情况,请指导我。
【问题讨论】:
-
假设最终数据帧是 df3 然后
df3.select(df2.columns:_*)会给你你需要的东西 -
嗨,对不起,我不知道它是如何解决问题的,即使我也使用这种语法,我得到 _* 此处不允许注释..
-
这是您正在寻找的通用解决方案...假设您想将数据框
df3写入 cassandra 并且df2包含目标表的所有列...所以您可以这样做 @ 987654326@.
标签: scala apache-spark cassandra apache-spark-sql bigdata