如何将 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 相同的操作。