【问题标题】:Custom transform not getting applied in wrangler in Google Cloud Data Fusion自定义转换未在 Google Cloud Data Fusion 的牧马人中应用
【发布时间】:2020-07-18 05:22:07
【问题描述】:

我正在尝试在 Google Cloud Data Fusion 的牧马人中跟踪自定义转换。

set-column column (parse-as-json :column 2 ) ? column =^ "[" : (parse-as-json :column 1 )

如果它是一个数组,我想将列解析为 JSON 的深度为 2,这意味着如果它以方括号 ([) 开头,否则深度为 1。我不确定 @ 中的冒号是否987654322@ 指令在这里引起了问题。

如果我将其更改为以下,它可以正常工作:-

set-column column 'a' ? column =^ "[" : 'b'

我也试过用反斜杠转义 parse-as-json 指令中的冒号,但仍然没有用。我在这里做错了什么?请提出建议。

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage etl google-cloud-data-fusion cdap


    【解决方案1】:

    我们目前不支持嵌套指令(即 set-column 和 parse-as-json)。

    您可以尝试先复制列,然后解析深度为 1 的副本,然后解析深度为 2 的克隆。最后您可以使用 set-column 选择正确的列。

    例如,假设原始列名为“body”,并且深度 2 不以“[”开头时会产生 null,您可以这样做:

    copy body body_clone
    parse-as-json body 1
    parse-as-json body_clone 2
    set-column final_result !body_clone_field ? body_field : body_clone_field
    

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多