【问题标题】:Spark.sql usage with Google BigQuery in pysparkSpark.sql 在 pyspark 中与 Google BigQuery 一起使用
【发布时间】:2021-08-15 16:30:57
【问题描述】:

我正在将 Hadoop spark 作业迁移到 GCP。

我无法使用 spark.sql 迁移语句以访问 bigQuery 表。因为它不工作 sql 查询并给出 table/view not found 错误。

例如:df=spark.sql("select a.* from tableA a left join tableB b where a.id=b.id")

我知道spark.read.format('bigquery').option('table', 'project.database.table').load() 将 bigquery 表加载到数据框。但是使用 read 语句我需要创建多个数据框然后加入。

我觉得pyspark中的spark.sql很简单。

您能告诉我如何使用 spark.sql 来处理 sql 查询吗? 或建议不使用“spark.read”的最佳方式。

【问题讨论】:

  • 如果我的回答有效,请您也给答案投票

标签: apache-spark google-cloud-platform pyspark apache-spark-sql google-bigquery


【解决方案1】:

您可以将查询传递给dbtable 选项,如下所示

src_query = "(select a.* from tableA a left join tableB b where a.id=b.id)"

df = spark.read \
.format("bigquery") \
.option("url", "{}".format(src_host)) \
.option("dbtable", "{}".format(src_query)) \
.option("user", "{}".format(src_username)) \
.option("password", "{}".format(src_password)) \
.load()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多