Hi Ben, Has the PYSPARK_PYTHON environment variable been set in spark/conf/spark-env.sh to the path of the new python binary?
FYI, there's a /root/copy-dirs script that can be handy when updating files on an already-running cluster. You'll want to restart the spark cluster for the changes to take effect, as described at https://spark.apache.org/docs/latest/ec2-scripts.html Hope that helps, -Jey On Thu, Jul 3, 2014 at 11:54 AM, Benjamin Zaitlen <quasi...@gmail.com> wrote: > Hi All, > > I'm a dev a Continuum and we are developing a fair amount of tooling around > Spark. A few days ago someone expressed interest in numpy+pyspark and > Anaconda came up as a reasonable solution. > > I spent a number of hours yesterday trying to rework the base Spark AMI on > EC2 but sadly was defeated by a number of errors. > > Aggregations seemed to choke -- where as small takes executed as aspected > (errors are linked to the gist): > >>>> sc.appName > u'PySparkShell' >>>> sc._conf.getAll() > [(u'spark.executor.extraLibraryPath', u'/root/ephemeral-hdfs/lib/native/'), > (u'spark.executor.memory', u'6154m'), (u'spark.submit.pyFiles', u''), > (u'spark.app.name', u' > PySparkShell'), (u'spark.executor.extraClassPath', > u'/root/ephemeral-hdfs/conf'), (u'spark.master', > u'spark://XXXXXXXX.compute-1.amazonaws.com:7077')] >>>> file = sc.textFile("hdfs:///user/root/chekhov.txt") >>>> file.take(2) > [u"Project Gutenberg's Plays by Chekhov, Second Series, by Anton Chekhov", > u''] > >>>> lines = file.filter(lambda x: len(x) > 0) >>>> lines.count() > VARIOUS ERROS DISCUSSED BELOW > > My first thought was that I could simply get away with including anaconda on > the base AMI, point the path at /dir/anaconda/bin, and bake a new one. > Doing so resulted in some strange py4j errors like the following: > > Py4JError: An error occurred while calling o17.partitions. Trace: > py4j.Py4JException: Method partitions([]) does not exist > > At some point I also saw: > SystemError: Objects/cellobject.c:24: bad argument to internal function > > which is really strange, possibly the result of a version mismatch? > > I had another thought of building spark from master on the AMI, leaving the > spark directory in place, and removing the spark call from the modules list > in spark-ec2 launch script. Unfortunately, this resulted in the following > errors: > > https://gist.github.com/quasiben/da0f4778fbc87d02c088 > > If a spark dev was willing to make some time in the near future, I'm sure > she/he and I could sort out these issues and give the Spark community a > python distro ready to go for numerical computing. For instance, I'm not > sure how pyspark calls out to launching a python session on a slave? Is > this done as root or as the hadoop user? (i believe i changed /etc/bashrc to > point to my anaconda bin directory so it shouldn't really matter. Is there > something special about the py4j zip include in spark dir compared with the > py4j in pypi? > > Thoughts? > > --Ben > >