我在3个VM上运行spark 1.6(即1x主站; 2x从站),全部带有4个内核和16GB RAM.
我可以看到在spark-master webUI上注册的工人.
我想从我的Vertica数据库中检索数据来处理它.由于我没有设法运行复杂的查询,我尝试了虚拟查询来理解.我们认为这是一项简单的任务.
我的代码是:
df = sqlContext.read.format('jdbc').options(url='xxxx', dbtable='xxx', user='xxxx', password='xxxx').load()
four = df.take(4)
Run Code Online (Sandbox Code Playgroud)
输出是(注意:我用@IPSLAVE从属VM IP 替换:端口):
16/03/08 13:50:41 INFO SparkContext: Starting job: take at <stdin>:1
16/03/08 13:50:41 INFO DAGScheduler: Got job 0 (take at <stdin>:1) with 1 output partitions
16/03/08 13:50:41 INFO DAGScheduler: Final stage: ResultStage 0 (take at <stdin>:1)
16/03/08 13:50:41 INFO DAGScheduler: Parents of final stage: List()
16/03/08 13:50:41 INFO DAGScheduler: Missing parents: List()
16/03/08 13:50:41 INFO DAGScheduler: Submitting ResultStage 0 (MapPartitionsRDD[1] …Run Code Online (Sandbox Code Playgroud) 我在三个VM上使用Spark 1.6.0,1x Master(独立),2x工作者w/8G RAM,每个2CPU.
我正在使用下面的内核配置:
{
"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"
}
}
Run Code Online (Sandbox Code Playgroud)
目前,这是有效的.我可以使用spark context sc和sqlContextwithout import,就像在pyspark shell中一样.
当我使用多个笔记本电脑时出现问题:在我的火花大师身上,我看到两个'pyspark-shell'应用程序,这有点意义,但一次只能运行一个.但是在这里,"跑步"并不意味着执行任何操作,即使我没有在笔记本上运行任何东西,它也会显示为"正在运行".鉴于此,我不能在笔记本之间共享我的资源,这是非常可悲的(我目前必须杀死第一个shell(=笔记本内核)来运行第二个).
如果您对如何操作有任何想法,请告诉我!另外,我不确定我使用内核的方式是"最佳实践",我已经很难设置spark和jupyter一起工作了.
大家好
在使用RNN时,我遇到了一个奇怪的问题.我正在关注TensorFlow RNN教程并尝试我自己的(更简单的)实现,这非常受到R2RT博客文章的启发:Tensorflow I中的递归神经网络.
调试后我中标识的问题是从即将ranger_input_producer在tensorflow.models.rnn.ptb.reader.py(线115).
我在最小的例子中隔离了它:
import tensorflow as tf
epoch_size = 20
i = tf.train.range_input_producer(epoch_size, shuffle=False).dequeue()
Run Code Online (Sandbox Code Playgroud)
这是什么ptb_producer(具有可变值epoch_size).事实证明,这个代码不会终止(我甚至不会调用任何代码session.run(...)也不会使用CPU.我猜这个队列正在按照Daving Wong的建议等待.
有线索吗?谢谢
pltrdy