Estou trabalhando na configuração de um conjunto de VMs para experimentar o Spark antes de gastar e gastar dinheiro na construção de um cluster com algum hardware. Nota rápida: Sou um acadêmico com experiência em aprendizado de máquina aplicado e trabalho bastante em ciência de dados. Eu uso as ferramentas para computação, raramente precisaria configurá-las.
Criei 3 VMs (1 mestre, 2 escravos) e instalei o Spark com êxito. Tudo parece estar funcionando como deveria. Meu problema está na criação de um servidor Jupyter que pode ser conectado a partir de um navegador que não está sendo executado em uma máquina no cluster.
Eu instalei Jupyter notebook com sucesso ... e ele é executado. Adicionei um novo perfil IPython conectado a um servidor remoto com o Spark.
agora o problema
O comando
$ ipython --profile=pyspark
funciona bem e se conecta ao cluster de faíscas. Contudo,
$ ipython notebook --profile=pyspark
[<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect.
o padrão é o default
perfil, não o pyspark
perfil.
A configuração do meu notebook para pyspark
possui:
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8880
c.NotebookApp.server_extensions.append('ipyparallel.nbextension')
c.NotebookApp.password = u'some password is here'
$ ipython --profile=pyspark notebook
? Pode ser que o problema esteja apenas na ordem dos argumentos.Respostas:
O IPython agora mudou para a versão 4.0 , o que significa que, se você o estiver usando, ele estará lendo sua configuração
~/.jupyter
, não~/.ipython
. Você precisa criar um novo arquivo de configuração come edite o
~/.jupyter/jupyter_notebook_config.py
arquivo resultante de acordo com suas necessidades.Mais instruções de instalação aqui .
fonte
Suponha que seu arquivo de configuração seja ~ / .ipython / profile_pyspark / ipython_notebook_config.py, você ainda pode usar esse arquivo de configuração:
ou
fonte
O problema é que o pyspark não está no caminho do sistema operacional por padrão. Após várias tentativas fracassadas de adicioná-lo manualmente aos meus arquivos de configuração / caminhos / etc, deparei-me com este repositório do GitHub chamado foundpark.
https://github.com/minrk/findspark
Eu clonei este repositório usando o git clone https://github.com/minrk/findspark.git
Em seguida, executei "pip install foundpark" a partir da raiz do foundpark.
Iniciou um notebook Jupyter, criou um novo notebook Python3 e adicionou
Importar Findspark
Importar
OSspark.init ()
Importar Pyspark
SC = Pyspark.SparkContext ()
Antes de foundpark.init (), o import pyspark voltava com um erro.
Para testar, digitei sc e voltei:
pyspark.context.SparkContext em 0x4526d30
Tudo trabalhando para mim agora.
fonte