这个页面鼓励我尝试使用spark-csv在PySpark中读取.csv文件我发现了一些帖子,比如这个描述如何使用spark-csv
但我无法通过在启动时包含.jar文件或包扩展来初始化ipython实例,这可以通过spark-shell完成.
也就是说,而不是
ipython notebook --profile=pyspark
Run Code Online (Sandbox Code Playgroud)
我试过了
ipython notebook --profile=pyspark --packages com.databricks:spark-csv_2.10:1.0.3
Run Code Online (Sandbox Code Playgroud)
但它不受支持.
请指教.
我的目录结构如下。
project/
jupyter/
note.ipynb
src/
some_script.py
another_script.py
Run Code Online (Sandbox Code Playgroud)
该jupyter子目录包含 Jupyter 笔记本,该src子目录包含我的.py文件。该src子目录被标记为源根目录。
在 Jupyter 笔记本中note.ipynb,如果我这样做import some_script,那么我就得到了ImportError: No module named 'some_script'。然而,from src import some_script工作正常,但如果some_script也有一条线就不行了import another_script。在我看来,我认为有一个设置或开关可以将src子目录添加到默认情况下 Jupyter Notebook 环境使用的目录中PYTHONPATH,但我不知道该怎么做,你能帮忙吗?
我知道我始终可以使用它sys.path.append,但我不想在我创建的每个 Jupyter 笔记本中都这样做。我还知道我可以将.ipynb文件和.py文件放在同一个子目录中,但我不喜欢以这种方式组织我的工作。最后,我知道我可以将项目目录设置为我的源根目录而不是子目录src,但这意味着我必须from src import ...在脚本中的所有位置执行.py此操作,显然我不想这样做。正如我上面所描述的,这个问题有解决方案吗?
I'm trying to learn Spark following some hello-word level example such as below, using pyspark. I got a "Method isBarrier([]) does not exist" error, full error included below the code.
from pyspark import SparkContext
if __name__ == '__main__':
sc = SparkContext('local[6]', 'pySpark_pyCharm')
rdd = sc.parallelize([1, 2, 3, 4, 5, 6, 7, 8])
rdd.collect()
rdd.count()
Run Code Online (Sandbox Code Playgroud)
Although, when I start a pyspark session in command line directly and type in the same code, it works fine:
My setup: