使用 Dataproc 和 Spark 查询 BQ 表 - 如何在本地 IDE 上运行脚本

问题描述 投票:0回答:0

我在尝试使用 dataproc + spark 从我的 bigquery 表中查询数据时遇到了一些挑战。

我已经在 GCP 上创建了一个集群,并在 Vertex AI 中配置了一个自动连接到集群的 jupyter notebook。

下面是我从笔记本上执行的代码(代码工作正常)。

from pyspark.sql import SparkSession
spark = SparkSession.builder \
  .appName('1.2. BigQuery Storage & Spark SQL - Python')\
  .config('spark.jars', 'gs://spark-lib/bigquery/spark-bigquery-latest_2.12.jar') \
  .getOrCreate()


spark.conf.set("spark.sql.repl.eagerEval.enabled",True)

table = "pokerservers.parquetdb.DB19022023_renamed"
df_wiki_pageviews = spark.read \
  .format("bigquery") \
  .option("table", table) \
  .load()

df_wiki_pageviews.createOrReplaceTempView("wiki_pageviews")

df_wiki_en = spark.sql("""
FROM wiki_pageviews
WHERE best_hand_flop = 'ONE_PAIR'
AND prob >= 0.995
AND prob <= 1.005
AND proba_win_flop >= 0.445
AND proba_win_flop >= 0.455
AND proba_draw_flop >= -0.005
AND proba_draw_flop <= 0.005
AND actions_preflop = 'rre'
AND actions_flop = 're' 
AND actions_turn = 'e'
AND actions_river = '-' 
AND checker_flop >= -0.01
AND checker_flop <= 0.01
AND Pair = 0 
AND Three = 0
AND Four = 0
AND Straight = 2
AND Colors = 2
AND Highcard = 13
AND Low = 1
AND Bottom = 1 
AND Middle = 1
AND Top = 1
AND StraightDirect = 1 
""").cache()

现在我希望能够从笔记本电脑上的本地 IDE 执行相同的操作。但是我不知道要向这个脚本添加什么以便远程访问我的集群并使用 spark。我假设我应该以某种方式使用 json 密钥进行身份验证并远程访问集群,并可能向我的 spark 配置添加一些参数。

我还没有找到关于这件事的任何文件,真的不知道从哪里开始。如果有人曾经尝试过那将是惊人的。

非常感谢您的帮助

python apache-spark google-cloud-platform pyspark google-cloud-dataproc
© www.soinside.com 2019 - 2024. All rights reserved.