【问题标题】:Ignoring schema mismatches between source and destination tables in cassandra using spark sql使用 spark sql 忽略 cassandra 中源表和目标表之间的模式不匹配
【发布时间】: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


【解决方案1】:

我已经通过手动选择所需的列名到另一个数据框中解决了这个问题。 但我想创建一个通用的方法来自动使用相同的逻辑处理不同的数据帧集。 请指导我。

【讨论】:

    猜你喜欢
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2019-01-26
    相关资源
    最近更新 更多