【发布时间】:2021-09-10 09:16:03
【问题描述】:
我们在需要进一步解析的一列中接收数据。在此示例中,分隔符是 ~。 目标是从其各自的对中获取通过或失败的值。
| SL | Data |
|---|---|
| 1 | "PARAM-0040,PASS~PARAM-0045,PASS~PARAM-0070,PASS" |
| 2 | "PARAM-0040,FAIL~PARAM-0045,FAIL~PARAM-0070,PASS" |
要求的结果:
| SL | PARAM-0040 | PARAM-0045 | PARAM-0070 |
|---|---|---|---|
| 1 | PASS | PASS | PASS |
| 2 | FAIL | FAIL | PASS |
这将是一个更大的 SQL 查询的一部分,我们将在其中选择许多其他列,这三列也将从源中提取并作为选定列传递给查询。
例如
Select Column1, Column2, [ Parse code ] as PARAM-0040, [ Parse code ] as PARAM-0045, [ Parse code ] as PARAM-0070, Column6 .....
谢谢
【问题讨论】:
-
你需要标记你正在使用的dbms
-
完成。此查询旨在从配置单元表中提取数据。
-
火花版本?
-
@Arctic 使用 str_to_map 提出的答案是否适合您?
标签: sql apache-spark parsing hive