apache-spark – Jupyter和PySpark:如何运行多个笔记本

栏目: 编程工具 · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/36311185/jupyter-pyspark-how-to-run-multiple-notebooks

我在三个虚拟机上使用Spark 1.6.0,1x主机(独立),2个工作器,每个8G RAM,2个CPU.

我正在使用下面的内核配置:

{
 "display_name": "PySpark ",
 "language": "python3",
 "argv": [
  "/usr/bin/python3",
  "-m", 
  "IPython.kernel", 
  "-f",
  "{connection_file}"
 ],
 "env": {
  "SPARK_HOME": "<mypath>/spark-1.6.0",
  "PYTHONSTARTUP": "<mypath>/spark-1.6.0/python/pyspark/shell.py",
  "PYSPARK_SUBMIT_ARGS": "--master spark://<mymaster>:7077  --conf   spark.executor.memory=2G pyspark-shell --driver-class-path /opt/vertica/java/lib/vertica-jdbc.jar"
 }  
}

目前,这是有效的.我可以使用spark context sc&没有导入的sqlContext,如在pyspark shell中.

当我使用多个笔记本时出现问题:

在我的火花大师身上,我看到两个’pyspark-shell’应用程序,这有点意义,但一次只能运行一个.但在这里,“跑步”并不意味着执行任何操作,即使我没有在笔记本上运行任何东西,它也会显示为“正在运行”.鉴于此,我不能在笔记本之间共享我的资源,这是非常可悲的(我目前必须杀死第一个shell(=笔记本内核)来运行第二个).

如果您对如何操作有任何想法,请告诉我!

另外,我不确定我使用内核的方式是“最佳实践”,我已经遇到了设置spark& amp; jupyter一起工作.

大家好

问题是Spark用来存储Metastore(Derby)的数据库. Derby是一个轻量级数据库系统,一次只能运行一个Spark实例.

解决方案是设置另一个数据库系统来处理多个实例(postgres,mysql ……).

例如,您可以使用postgres DB.

>在火花/罐子中加入 postgres

>在spark conf中添加配置文件(hive-site.xml)

>在您的机器上安装postgres

>在postgres中为spark / hive添加用户,密码和数据库(取决于你在hive-site.xml中的值)

linux shell上的示例:

# download postgres jar
wget  https://jdbc.postgresql.org/download/postgresql-42.1.4.jar

# install postgres on your machine
pip install postgres

# add user, pass and db to postgres
psql -d postgres -c "create user hive"
psql -d postgres -c "alter user hive with password 'pass'"
psql -d postgres -c "create database hive_metastore"
psql -d postgres -c "grant all privileges on database hive_metastore to hive"

蜂房的site.xml:

<configuration>

<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:postgresql://localhost:5432/hive_metastore</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>org.postgresql.Driver</value>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>pass</value>
</property>

</configuration>

翻译自:https://stackoverflow.com/questions/36311185/jupyter-pyspark-how-to-run-multiple-notebooks


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Twenty Lectures on Algorithmic Game Theory

Twenty Lectures on Algorithmic Game Theory

Tim Roughgarden / Cambridge University Press / 2016-8-31 / USD 34.99

Computer science and economics have engaged in a lively interaction over the past fifteen years, resulting in the new field of algorithmic game theory. Many problems that are central to modern compute......一起来看看 《Twenty Lectures on Algorithmic Game Theory》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具