[英]How to call or import a table from Google cloud SQL into Spark dataframe?
我已經在Google Dataproc中創建了一個實例,並且正在其上運行pyspark。 我試圖將數據從表導入此pyspark。 因此,我在Google雲平台SQL中創建了一個表。 但是我不知道如何從其他pyspark調用或導入該表。 就像我沒有任何指向該表的URL一樣。 您能否在這方面提供幫助。
通常,您可以使用spark.read.jdbc()
: 如何使用MySQL和Apache Spark?
Cloud SQL面臨的挑戰是網絡-找出如何連接到實例。 有兩種主要方法可以做到這一點:
1)安裝Cloud SQL代理
您可以使用此初始化操作為您執行此操作 。 請遵循“無需配置Hive Metastore”下的說明,因為您不需要這樣做:
gcloud dataproc clusters create <CLUSTER_NAME> \
--scopes sql-admin \
--initialization-actions gs://dataproc-initialization-actions/cloud-sql-proxy/cloud-sql-proxy.sh \
--metadata "enable-cloud-sql-hive-metastore=false"
代理是一個本地守護程序,您可以在localhost:3306上連接到該守護程序,並代理到雲sql實例。 您需要在spark.read.jdbc()的jdbc連接uri中包括localhost:3306。
2)如果您願意添加到驅動程序類路徑,則可以考慮安裝Cloud SQL Socket工廠 。
這里有一些有關如何執行此操作的討論: https : //groups.google.com/forum/# ! topic/cloud-dataproc-discuss/Ns6umF_FX9g以及這里: Spark-將JDBC驅動程序JAR添加到Google Dataproc中 。
聽起來您可以將其打包到pom.xml中的陰影應用程序jar中,也可以通過在--jars
添加它來在運行時提供它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.