气流导出模式仅从 PostgreSQL 到 bigquery

Posted

技术标签:

【中文标题】气流导出模式仅从 PostgreSQL 到 bigquery【英文标题】:Airflow export schema only from PostgreSQL to bigquery 【发布时间】:2020-10-16 02:14:05 【问题描述】:

在airflow中,我们可以将postgres、mysql等数据库导出到GCS。他们有一个名为 schema file 的选项,其中源表的 SCHEMA 将导出为 JSON 文件,我们可以使用它在 bigquery 上创建表。

但不幸的是,我们可以使用select * from table; 导出架构文件(或者我们可以使用select * from table limit 1 减少行数)。它将上传数据和架构文件。

有没有办法只导出不带数据的架构文件?

【问题讨论】:

【参考方案1】:

您可以使用INFORMATION_SCHEMA 从表中提取架构/元数据/列。

例如:

SELECT
 *
FROM
 `bigquery-public-data`.census_bureau_usa.INFORMATION_SCHEMA.COLUMNS
WHERE
 table_name="population_by_zip_2010"

见here。

【讨论】:

是的,(我想你是从 BQ 发布的,但同样的解决方案也适用于 Postgres)我正在寻找零代码更改 :) 如果现有运营商有任何可能性的话。

以上是关于气流导出模式仅从 PostgreSQL 到 bigquery的主要内容,如果未能解决你的问题,请参考以下文章

如何使用气流将 bigquery 导出到 bigtable?架构问题

使用 Python 仅从 Cloud Big Table 中获取行键?

气流 - 脚本更改文件名变量

仅从 Firestore 导出原始数据

气流 <--> Greenplum

仅从 PostgreSQL 中 Java Date 类格式的字段按年份分组