如何在 Google Dataproc 主节点上启用 pyspark HIVE 支持
How to enable pyspark HIVE support on Google Dataproc master node
我创建了一个 dataproc 集群并手动安装了 conda 和 Jupyter notebook。然后,我通过 conda 安装 pyspark。我可以通过
成功 运行 spark
from pyspark import SparkSession
sc = SparkContext(appName="EstimatePi")
但是,我无法启用 HIVE 支持。以下代码卡住了,没有 return 任何东西。
from pyspark.sql import SparkSession
spark = (SparkSession.builder
.config('spark.driver.memory', '2G')
.config("spark.kryoserializer.buffer.max", "2000m")
.enableHiveSupport()
.getOrCreate())
Python 版本 2.7.13,Spark 版本 2.3.4
有什么方法可以启用 HIVE 支持?
我不建议手动安装 pyspark
。当您执行此操作时,您将获得一个不同于 Dataproc 自己的新 spark/pyspark 安装,并且不会获得 configuration/tuning/classpath/etc。这可能是 Hive 支持不起作用的原因。
要使用正确配置的 pyspark 获得 conda,我建议选择 ANACONDA
和 JUPYTER
图像上的可选组件 1.3
(默认)或更高版本。
此外,在 1.4
和更高版本的图像上,Mini-Conda 是默认用户 Python,并预先配置了 pyspark。如果愿意,您可以 pip/conda 自行安装 Jupyter。
见https://cloud.google.com/dataproc/docs/tutorials/python-configuration
另外正如@Jayadeep Jayaraman 指出的那样,Jupyter 可选组件与 Component Gateway 一起工作,这意味着您可以在 Developers Console 中从 link 使用它,而不是向世界开放端口或 SSH 隧道.
tl/dr:我为您的下一个集群推荐这些标志:--optional-components ANACONDA,JUPYTER --enable-component-gateway
Cloud Dataproc 现在可以选择在 dataproc 集群中安装可选组件,还可以通过网关轻松访问它们。您可以在此处找到安装 Jupyter 和 Conda 的详细信息 - https://cloud.google.com/dataproc/docs/tutorials/jupyter-notebook
可以在此处找到组件网关的详细信息 - https://cloud.google.com/dataproc/docs/concepts/accessing/dataproc-gateways。请注意,这是 Alpha。
我创建了一个 dataproc 集群并手动安装了 conda 和 Jupyter notebook。然后,我通过 conda 安装 pyspark。我可以通过
成功 运行 sparkfrom pyspark import SparkSession
sc = SparkContext(appName="EstimatePi")
但是,我无法启用 HIVE 支持。以下代码卡住了,没有 return 任何东西。
from pyspark.sql import SparkSession
spark = (SparkSession.builder
.config('spark.driver.memory', '2G')
.config("spark.kryoserializer.buffer.max", "2000m")
.enableHiveSupport()
.getOrCreate())
Python 版本 2.7.13,Spark 版本 2.3.4
有什么方法可以启用 HIVE 支持?
我不建议手动安装 pyspark
。当您执行此操作时,您将获得一个不同于 Dataproc 自己的新 spark/pyspark 安装,并且不会获得 configuration/tuning/classpath/etc。这可能是 Hive 支持不起作用的原因。
要使用正确配置的 pyspark 获得 conda,我建议选择 ANACONDA
和 JUPYTER
图像上的可选组件 1.3
(默认)或更高版本。
此外,在 1.4
和更高版本的图像上,Mini-Conda 是默认用户 Python,并预先配置了 pyspark。如果愿意,您可以 pip/conda 自行安装 Jupyter。
见https://cloud.google.com/dataproc/docs/tutorials/python-configuration
另外正如@Jayadeep Jayaraman 指出的那样,Jupyter 可选组件与 Component Gateway 一起工作,这意味着您可以在 Developers Console 中从 link 使用它,而不是向世界开放端口或 SSH 隧道.
tl/dr:我为您的下一个集群推荐这些标志:--optional-components ANACONDA,JUPYTER --enable-component-gateway
Cloud Dataproc 现在可以选择在 dataproc 集群中安装可选组件,还可以通过网关轻松访问它们。您可以在此处找到安装 Jupyter 和 Conda 的详细信息 - https://cloud.google.com/dataproc/docs/tutorials/jupyter-notebook
可以在此处找到组件网关的详细信息 - https://cloud.google.com/dataproc/docs/concepts/accessing/dataproc-gateways。请注意,这是 Alpha。