小编pg2*_*455的帖子

PySpark:java.lang.OutofMemoryError:Java堆空间

我最近在我的服务器上使用PySpark与Ipython一起使用24个CPU和32GB RAM.它只能在一台机器上运行.在我的过程中,我想收集大量数据,如下面的代码所示:

train_dataRDD = (train.map(lambda x:getTagsAndText(x))
.filter(lambda x:x[-1]!=[])
.flatMap(lambda (x,text,tags): [(tag,(x,text)) for tag in tags])
.groupByKey()
.mapValues(list))
Run Code Online (Sandbox Code Playgroud)

当我做

training_data =  train_dataRDD.collectAsMap()
Run Code Online (Sandbox Code Playgroud)

它给了我outOfMemory错误.Java heap Space.此外,我在此错误后无法对Spark执行任何操作,因为它失去了与Java的连接.它给出了Py4JNetworkError: Cannot connect to the java server.

看起来堆空间很小.如何将其设置为更大的限制?

编辑:

我在跑步之前尝试过的事情: sc._conf.set('spark.executor.memory','32g').set('spark.driver.memory','32g').set('spark.driver.maxResultsSize','0')

我按照此处的文档更改了spark选项(如果你执行ctrl-f并搜索spark.executor.extraJavaOptions):http://spark.apache.org/docs/1.2.1/configuration.html

它说我可以通过设置spark.executor.memory选项来避免OOM.我做了同样的事情,但似乎没有工作.

java heap-memory out-of-memory apache-spark pyspark

34
推荐指数
2
解决办法
4万
查看次数

如何使用PySpark加载IPython shell

我想加载IPython shell(不是IPython笔记本),我可以通过命令行使用PySpark.那可能吗?我安装了Spark-1.4.1.

python ipython apache-spark pyspark

25
推荐指数
5
解决办法
2万
查看次数

Python Flask:跟踪用户会话?如何获取Session Cookie ID?

我想构建一个简单的webapp作为我学习活动的一部分.Webapp应该要求用户输入他们的email_id,如果遇到第一次访问者,它会通过cookie记住用户并自动登录他/她以执行这些功能.

这是我第一次创建基于用户的Web应用程序.我脑子里有一个蓝图,但我无法弄清楚如何实现它.主要是我对收集用户cookie的方式感到困惑.我已经研究了各种教程和flask_login,但我认为与flask_login实现的相比,我想实现的内容要简单得多.

我也试过使用flask.session但是有点难以理解,最终我的实现有缺陷.

这是我到目前为止(它是基本的,用于传达我的用例):

from flask import render_template, request, redirect, url_for


@app.route("/", methods= ["GET"])
def first_page():
  cookie = response.headers['cookie']
  if database.lookup(cookie):
   user = database.get(cookie) # it returns user_email related to that cookie id 
  else:
    return redirect_url(url_for('login'))
  data = generateSomeData() # some function
  return redirect(url_for('do_that'), user_id, data, stats)

@app.route('/do_that', methods =['GET'])
def do_that(user_id):
  return render_template('interface.html', user_id, stats,data) # it uses Jinja template

@app.route('/submit', methods =["GET"])
def submit():
  # i want to get all the information here
  user_id = request.form['user_id']# …
Run Code Online (Sandbox Code Playgroud)

python session flask flask-login

16
推荐指数
1
解决办法
3万
查看次数

未安装BLAS/LAPACK:如何安装?

我试图运行pip install tsnepython2.7并继续得到相同的错误.我按照http://bickson.blogspot.com/2011/02/installing-blaslapackitpp-on-amaon-ec2.html上的说明安装了LAPACK/BLAS,我认为应该解决了这个问题.什么都没有帮助.我究竟做错了什么?我不熟悉bash.

running build_ext

cythoning tsne/bh_sne.pyx to tsne/bh_sne.cpp

building 'bh_sne' extension

creating build/temp.linux-x86_64-2.7

creating build/temp.linux-x86_64-2.7/tsne

creating build/temp.linux-x86_64-2.7/tsne/bh_sne_src

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/ubuntu/env/work/local/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -Itsne/bh_sne_src/ -I/usr/include/python2.7 -c tsne/bh_sne_src/quadtree.cpp -o build/temp.linux-x86_64-2.7/tsne/bh_sne_src/quadtree.o -msse2 -O3 -fPIC -w

cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]

x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/ubuntu/env/work/local/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -Itsne/bh_sne_src/ -I/usr/include/python2.7 -c tsne/bh_sne_src/tsne.cpp -o build/temp.linux-x86_64-2.7/tsne/bh_sne_src/tsne.o -msse2 …

c++ python bash ubuntu

13
推荐指数
2
解决办法
3万
查看次数

将RDD转换为可迭代:PySpark?

我有一个RDD,我通过加载文本文件并预处理它来创建.我不想收集它并将其保存到磁盘或内存(整个数据),而是想将它传递给python中的一些其他函数,它们一个接一个地使用迭代的形式.

这怎么可能?

data =  sc.textFile('file.txt').map(lambda x: some_func(x))

an_iterable = data. ##  what should I do here to make it give me one element at a time?
def model1(an_iterable):
 for i in an_iterable:
  do_that(i)

model(an_iterable)
Run Code Online (Sandbox Code Playgroud)

python apache-spark rdd pyspark

13
推荐指数
1
解决办法
2万
查看次数

具有正则表达式的命名实体识别:NLTK

我一直在玩NLTK工具包.我经常遇到这个问题并在网上寻找解决方案,但我无处可寻.所以我在这里提出我的问题.

很多时候,NER不会将连续的NNP标记为一个NE.我认为编辑NER以使用RegexpTagger也可以提高NER.

例:

输入:

巴拉克奥巴马是一个伟大的人.

输出:

树('S',[树('PERSON',[('Barack','NNP')]),树('组织',[('奥巴马','NNP')]),('是', 'VBZ'),('a','DT'),('great','JJ'),('person','NN'),('.','.')])

在哪里

输入:

前副总统迪克·切尼告诉保守派电台主持人劳拉·英格拉汉姆,他"很荣幸"在任期间与达斯维德相提并论.

输出:

树('S',[('前','JJ'),('副','NNP'),('总统','NNP'),树('NE',[('Dick',' NNP'),('切尼','NNP')]),('告诉','VBD'),('保守','JJ'),('收音机','NN'),('主持人' ,'NN'),树('NE',[('Laura','NNP'),('Ingraham','NNP')]),('that','IN'),('他', 'PRP'),(' ', ''),('是','VBD'),('荣幸','VBN'),('''',''''),('to','''' ),('be','VB'),('比较','VBN'),('到','TO'),树('NE',[('Darth','NNP'),( 'Vader','NNP')]),('while','IN'),('in','IN'),('office','NN'),('.','.') ])

在这里,副总统/ NNP,总统/ NNP(迪克/ NNP,切尼/ NNP)被正确提取.

所以我认为如果首先使用nltk.ne_chunk然后如果两个连续的树是NNP,那么两者都很有可能引用一个实体.

任何建议都将非常感激.我正在寻找我的方法中的缺陷.

谢谢.

regex nlp named-entity-recognition nltk

10
推荐指数
2
解决办法
9295
查看次数

如何在没有 Anaconda 的情况下安装 Xeus-cling?

为什么需要安装 Anaconda 包管理器Xeus-cling?到目前为止,我只使用了 pip,切换到新的包管理器似乎需要做很多工作。我想开始在 Jupyter 中使用 C++,但所有安装说明都假定conda包管理器。

有谁知道不需要 Anaconda 的 Xeus-cling 安装?

c++ cling jupyter

9
推荐指数
1
解决办法
2145
查看次数

如何从亚马逊的请求者付费桶下载数据?

我一直在努力下载这里提到的arXiv文章大约一周:http://arxiv.org/help/bulk_data_s3#src.

我曾尝试很多东西:s3Browser,s3cmd.我能够登录我的存储桶,但我无法从arXiv存储桶下载数据.

我试过了:

  1. s3cmd get s3://arxiv/pdf/arXiv_pdf_1001_001.tar

看到:

$ s3cmd get s3://arxiv/pdf/arXiv_pdf_1001_001.tar


s3://arxiv/pdf/arXiv_pdf_1001_001.tar -> ./arXiv_pdf_1001_001.tar  [1 of 1]
s3://arxiv/pdf/arXiv_pdf_1001_001.tar -> ./arXiv_pdf_1001_001.tar  [1 of 1]
ERROR: S3 error: Unknown error
Run Code Online (Sandbox Code Playgroud)
  1. s3cmd getx-amz-request-payer:requester

它再次给了我同样的错误:

$ s3cmd get --add-header="x-amz-request-payer:requester" s3://arxiv/pdf/arXiv_pdf_manifest.xml
s3://arxiv/pdf/arXiv_pdf_manifest.xml -> ./arXiv_pdf_manifest.xml  [1 of 1]
s3://arxiv/pdf/arXiv_pdf_manifest.xml -> ./arXiv_pdf_manifest.xml  [1 of 1]
ERROR: S3 error: Unknown error
Run Code Online (Sandbox Code Playgroud)
  1. 仿形

我也尝试过复制该文件夹中的文件.

$ aws s3 cp s3://arxiv/pdf/arXiv_pdf_1001_001.tar .

A client error (403) occurred when calling the HeadObject …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services

8
推荐指数
1
解决办法
4344
查看次数

在服务器上工作时如何打开 Spark UI?

我在我的服务器上使用 Spark 和 Ubuntu。我只使用 shell,除此之外没有服务器的 UI。在 Web 浏览器上在本地计算机上工作时,始终可以选择查看 Spark 的统计信息,如作业、CPU、内存等。

有没有办法可以在服务器上本地查看所有这些信息?

apache-spark

8
推荐指数
1
解决办法
8677
查看次数

Python NUMPY HUGE Matrices乘法

我需要将两个大矩阵相乘并对其列进行排序.

 import numpy
 a= numpy.random.rand(1000000, 100)
 b= numpy.random.rand(300000,100)
 c= numpy.dot(b,a.T)
 sorted = [argsort(j)[:10] for j in c.T]
Run Code Online (Sandbox Code Playgroud)

这个过程需要大量的时间和内存.有没有办法加快这个过程?如果不是,我如何计算执行此操作所需的RAM?我目前有一个带有4GB RAM且没有交换的EC2盒子.

我想知道这个操作是否可以序列化,我不必将所有内容存储在内存中.

python performance numpy matrix-multiplication

6
推荐指数
2
解决办法
8002
查看次数