【问题标题】:BiqQuery SPLIT "Byte" column into rowsBigQuery 将“字节”列拆分为行
【发布时间】: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
.
.
.
.

  • 表格示例:

【问题讨论】:

    标签: python google-bigquery


    【解决方案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)
    猜你喜欢
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多