使用BigTable源时如何获取干净的BigQuery架构?

时间:2018-07-05 01:46:25

标签: google-bigquery bigtable google-cloud-bigtable

BigTable:具有字符串键和一个列族publication_number的简单表,也是一个字符串。

通过遵循Google's instructions,可以将该表安装为BigQuery中的数据集。

查询该表时,我希望看到一个简单的两列输出:rowkeypublication_number,都为STRING。相反,我看到了:

BigQuery Schema

BigQuery添加一个.column,一个.column.name.cell.cell.timestamp,最后该值在.column.cell.value中。

有没有一种方法可以简化为仅拥有

rowkey              STRING
publication_number  STRING

还有别的吗?我可以更改表的创建方式和导出方式。

1 个答案:

答案 0 :(得分:2)

一种选择是在表上创建一个逻辑视图,以显示所需的架构:

CREATE VIEW dataset.publication_view AS
SELECT
  rowkey,
  cell.value AS publication_number
FROM dataset.publication_table,
UNNEST(publication_number.column)

以下内容与上述相同,但是允许向视图中添加其他列:

CREATE VIEW dataset.publication_view AS
SELECT
    rowkey,
    ARRAY_TO_STRING(ARRAY(SELECT cell.value FROM UNNEST(publication_number.column)), "") AS publication_number
FROM `dataset.publication_table`