小编plt*_*rdy的帖子

一个多小时执行pyspark.sql.DataFrame.take(4)

我在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)

apache-spark apache-spark-sql pyspark pyspark-sql

8
推荐指数
1
解决办法
3393
查看次数

Jupyter和PySpark:如何运行多个笔记本电脑

我在三个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 scsqlContextwithout import,就像在pyspark shell中一样.

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

如果您对如何操作有任何想法,请告诉我!另外,我不确定我使用内核的方式是"最佳实践",我已经很难设置spark和jupyter一起工作了.

大家好

apache-spark pyspark jupyter

8
推荐指数
1
解决办法
1106
查看次数

tf.train.range_input_producer(epoch_size,shuffle = True)不会终止也不会导致CPU/GPU负载

在使用RNN时,我遇到了一个奇怪的问题.我正在关注TensorFlow RNN教程并尝试我自己的(更简单的)实现,这非常受到R2RT博客文章的启发:Tensorflow I中的递归神经网络.

调试后我中标识的问题是从即将ranger_input_producertensorflow.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

python tensorflow recurrent-neural-network word-embedding

3
推荐指数
1
解决办法
1253
查看次数