And I tried the ./bin/pyspark to run same program with package of mllib,
That can work well for spark.

So do I need to set something for Zeppelin? Like PySpark_Python or
PythonPath.

Bests,
Mingda

On Thu, Feb 2, 2017 at 12:07 PM, mingda li <limingda1...@gmail.com> wrote:

> Thanks. But when I changed the env of zeppelin as following:
>
> export JAVA_HOME=/home/clash/asterixdb/jdk1.8.0_101
>
> export ZEPPELIN_PORT=19037
>
> export SPARK_HOME=/home/clash/sparks/spark-1.6.1-bin-hadoop12
> Each time, if I want to use the mllib in zeppelin, I will meet the problem:
>
> Py4JJavaError: An error occurred while calling
> z:org.apache.spark.api.python.PythonRDD.runJob.
> : org.apache.spark.SparkException: Job aborted due to stage failure: Task
> 0 in stage 5.0 failed 4 times, most recent failure: Lost task 0.3 in stage
> 5.0 (TID 13, SCAI05.CS.UCLA.EDU): org.apache.spark.api.python.PythonException:
> Traceback (most recent call last):
> File "/home/clash/sparks/spark-1.6.1-bin-hadoop12/python/lib/
> pyspark.zip/pyspark/worker.py", line 98, in main
> command = pickleSer._read_with_length(infile)
> File "/home/clash/sparks/spark-1.6.1-bin-hadoop12/python/lib/
> pyspark.zip/pyspark/serializers.py", line 164, in _read_with_length
> return self.loads(obj)
> File "/home/clash/sparks/spark-1.6.1-bin-hadoop12/python/lib/
> pyspark.zip/pyspark/serializers.py", line 422, in loads
> return pickle.loads(obj)
> File "/home/clash/sparks/spark-1.6.1-bin-hadoop12/python/lib/
> pyspark.zip/pyspark/mllib/__init__.py", line 25, in <module>
> ImportError: No module named numpy
> at org.apache.spark.api.python.PythonRunner$$anon$1.read(
> PythonRDD.scala:166)
> at org.apache.spark.api.python.PythonRunner$$anon$1.<init>(
> PythonRDD.scala:207)
> at org.apache.spark.api.python.PythonRunner.compute(PythonRDD.scala:125)
> at org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:70)
> at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
> at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
> at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
> at org.apache.spark.scheduler.Task.run(Task.scala:89)
> at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Driver stacktrace:
> at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$
> scheduler$DAGScheduler$$failJobAndIndependentStages(
> DAGScheduler.scala:1431)
> at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(
> DAGScheduler.scala:1419)
> at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(
> DAGScheduler.scala:1418)
> at scala.collection.mutable.ResizableArray$class.foreach(
> ResizableArray.scala:59)
> at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
> at org.apache.spark.scheduler.DAGScheduler.abortStage(
> DAGScheduler.scala:1418)
> at org.apache.spark.scheduler.DAGScheduler$$anonfun$
> handleTaskSetFailed$1.apply(DAGScheduler.scala:799)
> at org.apache.spark.scheduler.DAGScheduler$$anonfun$
> handleTaskSetFailed$1.apply(DAGScheduler.scala:799)
> at scala.Option.foreach(Option.scala:236)
> at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(
> DAGScheduler.scala:799)
> at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.
> doOnReceive(DAGScheduler.scala:1640)
> at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.
> onReceive(DAGScheduler.scala:1599)
> at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.
> onReceive(DAGScheduler.scala:1588)
> at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:48)
> at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:620)
> at org.apache.spark.SparkContext.runJob(SparkContext.scala:1832)
> at org.apache.spark.SparkContext.runJob(SparkContext.scala:1845)
> at org.apache.spark.SparkContext.runJob(SparkContext.scala:1858)
> at org.apache.spark.api.python.PythonRDD$.runJob(PythonRDD.scala:393)
> at org.apache.spark.api.python.PythonRDD.runJob(PythonRDD.scala)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:231)
> at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:381)
> at py4j.Gateway.invoke(Gateway.java:259)
> at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133)
> at py4j.commands.CallCommand.execute(CallCommand.java:79)
> at py4j.GatewayConnection.run(GatewayConnection.java:209)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.spark.api.python.PythonException: Traceback (most
> recent call last):
> File "/home/clash/sparks/spark-1.6.1-bin-hadoop12/python/lib/
> pyspark.zip/pyspark/worker.py", line 98, in main
> command = pickleSer._read_with_length(infile)
> File "/home/clash/sparks/spark-1.6.1-bin-hadoop12/python/lib/
> pyspark.zip/pyspark/serializers.py", line 164, in _read_with_length
> return self.loads(obj)
> File "/home/clash/sparks/spark-1.6.1-bin-hadoop12/python/lib/
> pyspark.zip/pyspark/serializers.py", line 422, in loads
> return pickle.loads(obj)
> File "/home/clash/sparks/spark-1.6.1-bin-hadoop12/python/lib/
> pyspark.zip/pyspark/mllib/__init__.py", line 25, in <module>
> ImportError: No module named numpy
> at org.apache.spark.api.python.PythonRunner$$anon$1.read(
> PythonRDD.scala:166)
> at org.apache.spark.api.python.PythonRunner$$anon$1.<init>(
> PythonRDD.scala:207)
> at org.apache.spark.api.python.PythonRunner.compute(PythonRDD.scala:125)
> at org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:70)
> at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:306)
> at org.apache.spark.rdd.RDD.iterator(RDD.scala:270)
> at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
> at org.apache.spark.scheduler.Task.run(Task.scala:89)
> at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617)
> ... 1 more
> (<class 'py4j.protocol.Py4JJavaError'>, Py4JJavaError(u'An error occurred
> while calling z:org.apache.spark.api.python.PythonRDD.runJob.\n',
> JavaObject id=o108), <traceback object at 0x7f3054e56f80>)
>
> Do you know why? Do I need to set the python path?
>
> On Wed, Feb 1, 2017 at 1:33 AM, Hyung Sung Shim <hss...@nflabs.com> wrote:
>
>> Hello.
>> You don't need to remove the /tmp/zeppelin_pyspark-4018989172273347075.py
>> because it is generated automatically when you run the pyspark command.
>> and I think you don't need to set PYTHONPATH if you have python in your
>> system.
>>
>> I recommend you are using the SPARK_HOME like following.
>> *export SPARK_HOME=/home/clash/sparks/spark-1.6.1-bin-hadoop12*
>>
>> now you can restart zeppelin please run your python command.
>>
>> *. Could you give the absolute path for logFile like following.
>> logFile = "/Users/user/hiv.data"
>>
>>
>> 2017-02-01 11:48 GMT+09:00 mingda li <limingda1...@gmail.com>:
>>
>>> Dear all,
>>>
>>> We are using Zeppelin. And I have added the export
>>> PYTHONPATH=/home/clash/sparks/spark-1.6.1-bin-hadoop12/python
>>> to zeppelin-env.sh.
>>> But each time, when I want to use pyspark, for example the program:
>>>
>>> %pyspark
>>> from pyspark import SparkContext
>>> logFile = "hiv.data"
>>> logData = sc.textFile(logFile).cache()
>>> numAs = logData.filter(lambda s: 'a' in s).count()
>>> numBs = logData.filter(lambda s: 'b' in s).count()
>>> print "Lines with a: %i, lines with b: %i" % (numAs, numBs)
>>>
>>> It can firstly run well. But second time, I run it again I will get such
>>> error:
>>> *Traceback (most recent call last):*
>>> *  File "/tmp/zeppelin_pyspark-4018989172273347075.py", line 238, in
>>> <module>*
>>> *    sc.setJobGroup(jobGroup, "Zeppelin")*
>>> *  File
>>> "/home/clash/sparks/spark-1.6.1-bin-hadoop12/python/pyspark/context.py",
>>> line 876, in setJobGroup*
>>> *    self._jsc.setJobGroup(groupId, description, interruptOnCancel)*
>>> *AttributeError: 'NoneType' object has no attribute 'setJobGroup'*
>>>
>>> *I need to rm */tmp/zeppelin_pyspark-4018989172273347075.py and start
>>> zeppelin again to let it work.
>>> Does anyone have idea why?
>>>
>>> Thanks
>>>
>>
>>
>

Reply via email to