有没有办法将 pyarrow 模式分配给 BigQuery 中的 RECORD 数据类型?
Is there a way to assign pyarrow schema to the RECORD data type in BigQuery?
我的 Apache Beam 管道的目标是从 BigQuery 中的 table 获取数据,然后将其输出到镶木地板文件中。
我正在尝试在我的 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 是各种可用的数据类型。我可以使用哪一个?
您可能希望为此使用 as pyarrow.struct。
我的 Apache Beam 管道的目标是从 BigQuery 中的 table 获取数据,然后将其输出到镶木地板文件中。
我正在尝试在我的 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 是各种可用的数据类型。我可以使用哪一个?
您可能希望为此使用 as pyarrow.struct。