有没有一种方法可以将pyarrow模式分配给BigQuery中的RECORD数据类型?

时间:2020-08-26 14:59:46

标签: google-bigquery apache-beam pyarrow

我的Apache Beam管道的目标是从BigQuery中的表中获取数据,然后将其输出到镶木地板文件中。

我试图在我的Apache Beam管道中使用WriteToParquet PTransform,这要求将schema作为pyarrow.Schema传递。

我的代码的这一部分将BigQuery的不同类型的架构映射到各种pyarrow架构:

data_type_mapping = {
    'STRING': pyarrow.string(),
    'BYTES': pyarrow.string(),
    'INTEGER': pyarrow.int64(),
    'INT64': pyarrow.int64(),
    'FLOAT64': pyarrow.float64(),
    'FLOAT': pyarrow.float64(),
    'BOOLEAN': pyarrow.bool_(),
    'TIMESTAMP': pyarrow.timestamp(unit='ms'),
    'DATE': pyarrow.date32(),
    'DATETIME': pyarrow.string()
}

问题是BigQuery中有一种数据类型RECORD,我不知道如何将其映射到正确的pyarrow模式。

These是各种可用的数据类型。我可以使用哪一个?

1 个答案:

答案 0 :(得分:0)

您可能希望为此使用pyarrow.struct