程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了来自 Kafka Eventhub 在 Microbatch 上的 Spark 流动态模式演化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决来自 Kafka Eventhub 在 Microbatch 上的 Spark 流动态模式演化?

开发过程中遇到来自 Kafka Eventhub 在 Microbatch 上的 Spark 流动态模式演化的问题如何解决?下面主要结合日常开发的经验,给出你关于来自 Kafka Eventhub 在 Microbatch 上的 Spark 流动态模式演化的解决方法建议,希望对你解决来自 Kafka Eventhub 在 Microbatch 上的 Spark 流动态模式演化有所启发或帮助;

我们正在从 Kafka Eventthub 流式传输数据。记录可能具有嵌套结构。模式是从数据中动态推断出来的,Delta 表由第一批传入数据的模式构成。

注意:从 Kafka 主题读取的数据将是一个完整的 JsON 字符串。因此,

    @H_419_5@当我们应用架构并转换为数据帧时,我们会丢失数据类型不匹配或新添加的字段的字段值。 @H_419_5@当我们执行 spark.read.Json 时,整个字段值都会转换为 String。

我们遇到了一种情况,其中源数据有一些架构更改。我们面临的一些场景是:

    @H_419_5@父级数据类型发生变化 @H_419_5@数据类型在嵌套级别发生变化 @H_419_5@不同情况下有重复的键 @H_419_5@增加了新的字段 @H_450_11@

    具有实际架构的示例源数据

    {
      "ID": "101","name": "John","Department": {
        "ID": "Dept101","name": "Technology","EmpID": "10001"
      },"ExperIEnce": 2,"Organization": [
        {
          "ID": "Org101","name": "Google"
        },{
          "ID": "Org102","name": "Microsoft"
        }
      ]
    }
    

    解决上述 4 点的示例源数据

    {
      "ID": "102","name": "Rambo",--- Point 3
      "Department": {
        "ID": "Dept101","EmpID": 10001         ---- Point 2
      },"ExperIEnce": "2",--- Point 1
      "Organization": [
        {
          "ID": "Org101","name": "Google",--- Point 4
        },"name": "Microsoft",}
      ]
    }
    

    我们需要一个解决方案来克服上述问题。尽管将新模式嵌入到现有的增量表中很难,但至少我们应该能够在不丢失原始数据的情况下将模式更改的记录分开。

    解决方法

    暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

    如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

    小编邮箱:dio#foxmail.com (将#修改为@)

    大佬总结

    以上是大佬教程为你收集整理的来自 Kafka Eventhub 在 Microbatch 上的 Spark 流动态模式演化全部内容,希望文章能够帮你解决来自 Kafka Eventhub 在 Microbatch 上的 Spark 流动态模式演化所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。