BigQuery 将“字节”列拆分为行

Posted

技术标签:

【中文标题】BigQuery 将“字节”列拆分为行【英文标题】:BiqQuery SPLIT "Byte" column into rows 【发布时间】:2020-11-10 12:50:03 【问题描述】:

我有一个 2 列 bigquery 表,一列是 INTEGER,另一列是 BYTE 列,每个字符存储有意义的数据(意味着列内的每个字符都很重要)。

我需要生成每个 ID 1 行 - BYTE 列内的字符 组合。

我正在使用 bigquery,但我也可以编写一些 Python 代码。

表详细信息:

结构: ID:整数, 可用:字节

Avail 列最多可包含 3500 个字符

目标

标识 |有用

41 | 0 41 | 1 41 | f 41 | f . . . .

表格示例:

【问题讨论】:

【参考方案1】:

以下 BigQuery 标准 SQL 示例

#standardSQL
with `project.dataset.table` as (
  select 1 id, b'01fff' avail union all
  select 2, b'07fff' union all
  select 3, b'3ff00f'
)
select id, 
  offset,
  chr(to_code_points(x)[offset(0)]) as avail
from `project.dataset.table`,
unnest(split(avail, b'')) x with offset

有输出

【讨论】:

哇。在这里可以学到很多新东西!谢谢你,米哈伊尔。我在avail 列上得到了一些奇怪的字符,我需要检查我的数据类型以在该列的字节数据类型上保持一致。我会将其标记为正确答案,因为它解决了我的问题。谢谢! 很高兴它有帮助 :o)

以上是关于BigQuery 将“字节”列拆分为行的主要内容,如果未能解决你的问题,请参考以下文章

Pyspark:将多个数组列拆分为行

Pyspark:将多个数组列拆分为行

将数组列拆分为行pyspark

将多个excel列拆分为行

text 将Excel列拆分为行

需要将列拆分为行和列