如何将 DeltaLake 文件从 GCS 包含到 BigQuery
How to include DeltaLake Files from GCS to BigQuery
是否有 library/connector 可用于将存储在 Google 云存储 (GCS) 中的 Delta Lake 文件直接导入 BigQuery?
我已经设法使用 Spark Dataframe 作为中介来编写 BigQuery 表,但我找不到任何直接连接器或 BigQuery 库在不通过 spark 数据帧进行转换的情况下执行此操作。
更新 1:我尝试使用官方连接器 spark-bigquery-connector,但是缺少关于如何指向 BigQuery 中的特定项目的文档,所以我无法继续而不是从数据帧中的 GCS 加载 DeltaLake 文件。
更新 2:使用 Javier 的评论,我设法写信给 BQ,但这个解决方案没有优化,尽管我可以优化 spark 作业,但它不会就像使用 Google Bigquery 库一样直接
更新 3 和临时解决方案:没有找到任何直接解决方案,我最终使用 spark-bigquery-connector 提取 Delta 文件,如下所示:
myDeltaTable.toDF
.write
.format("bigquery")
.mode("overwrite")
.option("parentProject", "MY_PARENT_PROJECT")
.option("project", "MY_PROJECT")
.option("temporaryGcsBucket", "A_STAGING_BUCKET_IN_GCS") // Mandatory
.option("partitionField", "MY_PARTITION_FIELD")
.save("DATASET.TABLE")
如果不通过一些中介,就无法将 GCS 中的 Datalake 文件提取到 BigQuery。
您可以设置一个 GCE VM,从 GCS 下载 Datalake 文件,使用 Datalake Standalone Connector 读取它,然后写入 BigQuery(通过流 API 或写入支持的格式,如实木复合地板和进口)。
然而,这实际上是手动执行与 Spark 相同的操作。
是否有 library/connector 可用于将存储在 Google 云存储 (GCS) 中的 Delta Lake 文件直接导入 BigQuery?
我已经设法使用 Spark Dataframe 作为中介来编写 BigQuery 表,但我找不到任何直接连接器或 BigQuery 库在不通过 spark 数据帧进行转换的情况下执行此操作。
更新 1:我尝试使用官方连接器 spark-bigquery-connector,但是缺少关于如何指向 BigQuery 中的特定项目的文档,所以我无法继续而不是从数据帧中的 GCS 加载 DeltaLake 文件。
更新 2:使用 Javier 的评论,我设法写信给 BQ,但这个解决方案没有优化,尽管我可以优化 spark 作业,但它不会就像使用 Google Bigquery 库一样直接
更新 3 和临时解决方案:没有找到任何直接解决方案,我最终使用 spark-bigquery-connector 提取 Delta 文件,如下所示:
myDeltaTable.toDF
.write
.format("bigquery")
.mode("overwrite")
.option("parentProject", "MY_PARENT_PROJECT")
.option("project", "MY_PROJECT")
.option("temporaryGcsBucket", "A_STAGING_BUCKET_IN_GCS") // Mandatory
.option("partitionField", "MY_PARTITION_FIELD")
.save("DATASET.TABLE")
如果不通过一些中介,就无法将 GCS 中的 Datalake 文件提取到 BigQuery。
您可以设置一个 GCE VM,从 GCS 下载 Datalake 文件,使用 Datalake Standalone Connector 读取它,然后写入 BigQuery(通过流 API 或写入支持的格式,如实木复合地板和进口)。
然而,这实际上是手动执行与 Spark 相同的操作。