火花回归示例无效语法错误
spark regression example invalid syntax error
我正在尝试 [页面][1] 中的示例。为什么我会收到无效语法错误?
>>> MSE = valuesAndPreds.map(lambda (v,p): (v - p)**2).reduce(lambda x, y: x + y) / valuesAndPreds.count()
File "<stdin>", line 1
MSE = valuesAndPreds.map(lambda (v,p): (v - p)**2).reduce(lambda x, y: x + y) / valuesAndPreds.count()
^
SyntaxError: invalid syntax
版本信息
>>> print(sys.version)
3.5.1 |Anaconda 2.5.0 (64-bit)| (default, Jan 29 2016, 15:01:46) [MSC v.1900 64 bit (AMD64)]
>>> sys.version_info
sys.version_info(major=3, minor=5, micro=1, releaselevel='final', serial=0)
我尝试了评论中给出的建议,但没有成功
>>> MSE = valuesAndPreds.map(lambda v, p: (v - p)**2).reduce(lambda x, y: x + y) / valuesAndPreds.count()
[Stage 179:> (0 + 2) / 2]16/03/14 20:06:22 ERROR Executor: Exception in task 0.0 in stage 179.0 (TID 346)
org.apache.spark.api.python.PythonException: Traceback (most recent call last):
Pyspark 应该会告诉您它使用的 Python 版本:
$ ./pyspark
...
Using Python version 2.7.10 (default, Dec 25 2015 13:37:32)
SparkContext available as sc, HiveContext available as sqlContext.
您可以使用 python --version
命令在控制台中检查您的 python 版本。如果您使用的是 Python 版本 3,那么在该版本中您使用的语法不正确,应该是:
valuesAndPreds.map(lambda kv: (kv[0] - kv[1])**2)
然后我又不知道 PySpark
与 Python3 的配合情况如何。
如果你想 运行 和 Python 2 你可以通过导出这个环境变量 export PYSPARK_PYTHON=python2
来实现。你也可以在开始 pyspark
时这样做 PYSPARK_PYTHON=python2 ./bin/pyspark
我正在尝试 [页面][1] 中的示例。为什么我会收到无效语法错误?
>>> MSE = valuesAndPreds.map(lambda (v,p): (v - p)**2).reduce(lambda x, y: x + y) / valuesAndPreds.count()
File "<stdin>", line 1
MSE = valuesAndPreds.map(lambda (v,p): (v - p)**2).reduce(lambda x, y: x + y) / valuesAndPreds.count()
^
SyntaxError: invalid syntax
版本信息
>>> print(sys.version)
3.5.1 |Anaconda 2.5.0 (64-bit)| (default, Jan 29 2016, 15:01:46) [MSC v.1900 64 bit (AMD64)]
>>> sys.version_info
sys.version_info(major=3, minor=5, micro=1, releaselevel='final', serial=0)
我尝试了评论中给出的建议,但没有成功
>>> MSE = valuesAndPreds.map(lambda v, p: (v - p)**2).reduce(lambda x, y: x + y) / valuesAndPreds.count()
[Stage 179:> (0 + 2) / 2]16/03/14 20:06:22 ERROR Executor: Exception in task 0.0 in stage 179.0 (TID 346)
org.apache.spark.api.python.PythonException: Traceback (most recent call last):
Pyspark 应该会告诉您它使用的 Python 版本:
$ ./pyspark
...
Using Python version 2.7.10 (default, Dec 25 2015 13:37:32)
SparkContext available as sc, HiveContext available as sqlContext.
您可以使用 python --version
命令在控制台中检查您的 python 版本。如果您使用的是 Python 版本 3,那么在该版本中您使用的语法不正确,应该是:
valuesAndPreds.map(lambda kv: (kv[0] - kv[1])**2)
然后我又不知道 PySpark
与 Python3 的配合情况如何。
如果你想 运行 和 Python 2 你可以通过导出这个环境变量 export PYSPARK_PYTHON=python2
来实现。你也可以在开始 pyspark
时这样做 PYSPARK_PYTHON=python2 ./bin/pyspark