- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 pyspark 的新手,我正在尝试使用 word_tokenize() 函数。这是我的代码:
import nltk
from nltk import word_tokenize
import pandas as pd
df_pd = df2.select("*").toPandas()
df2.select('text').apply(word_tokenize)
df_pd.show()
我使用 JDK 1.8、Python 3.7、spark 2.4.3。
你能告诉我我做错了什么吗?如何修复它?该部分下面的代码运行良好,没有任何错误。
我收到这样的消息:
<小时/>Py4JJavaError: An error occurred while calling o106.collectToPython.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 14.0 failed 1 times, most recent failure: Lost task 0.0 in stage 14.0 (TID 330, localhost, executor driver): java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3236)
at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
at org.apache.spark.util.ByteBufferOutputStream.write(ByteBufferOutputStream.scala:41)
at java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1853)
at java.io.ObjectOutputStream.write(ObjectOutputStream.java:709)
at org.apache.spark.util.Utils$.writeByteBuffer(Utils.scala:260)
at org.apache.spark.scheduler.DirectTaskResult$$anonfun$writeExternal$1.apply$mcV$sp(TaskResult.scala:50)
at org.apache.spark.scheduler.DirectTaskResult$$anonfun$writeExternal$1.apply(TaskResult.scala:48)
at org.apache.spark.scheduler.DirectTaskResult$$anonfun$writeExternal$1.apply(TaskResult.scala:48)
at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1326)
at org.apache.spark.scheduler.DirectTaskResult.writeExternal(TaskResult.scala:48)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1459)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1430)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
at org.apache.spark.serializer.JavaSerializationStream.writeObject(JavaSerializer.scala:43)
at org.apache.spark.serializer.JavaSerializerInstance.serialize(JavaSerializer.scala:100)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:517)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
and more....
最佳答案
toPandas 针对较小的数据集进行了优化。正如所建议的,这可能是由于内存不足,您收到错误。
尝试限制您的数据集大小:df_pd = df2.limit(10).select("*").toPandas()
应用您的函数,然后运行 .head(10) 以消除内存错误的问题。
关于java - 使用 .toPandas() 函数时如何修复 Py4JJavaError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57661288/
我有一个具有以下架构的 pyspark 数据框: root |-- src_ip: integer (nullable = true) |-- dst_ip: integer (nullable
假设您正在通过 SparkContext 和 Hive 加载大型数据集。所以这个数据集然后分布在你的 Spark 集群中。例如,对数千个变量的观察(值 + 时间戳)。 现在您将使用一些 map/red
我从我们的数据仓库中提取数据,将其存储在一个 parquet 文件中,然后将所有 parquet 文件加载到一个 spark 数据帧中。到目前为止,一切都很好。但是,当我尝试使用 pandas.plo
我是 pyspark 的新手,我正在尝试使用 word_tokenize() 函数。这是我的代码: import nltk from nltk import word_tokenize import
我有一个 1000 万条记录的数据框。我的要求是我需要在 pandas 中对这些数据进行一些操作,而且我没有内存让所有 1000 万条记录一次都在 pandas 中。所以我希望能够将它分块并在每个 b
我有一个包含 1000 万条记录和 150 列的 Spark 数据框。我正在尝试将其转换为 pandas DF。 x = df.toPandas() # do some things to x 并且失
我有一个如下所示的 spark 数据框: topics.show(2) +-----+--------------------+--------------------+---------------
我是 Spark-DataFrame API 的初学者。 我使用此代码将制表符分隔的 csv 加载到 Spark Dataframe 中 lines = sc.textFile('tail5.csv'
pyspark 中的 toPandas 方法对于数字列中的空值不一致。有没有办法让它更一致? 一个例子 sc 是 sparkContext。 Spark 版本是2.3.2。我不确定如何包含笔记本结果,
我有这个代码: l = [('Alice', 1),('Jim',2),('Sandra',3)] df = sqlContext.createDataFrame(l, ['name', 'age']
我有一个由一台机器“c3.8xlarge”组成的 EMR 集群,在阅读了一些资源后,我了解到我必须允许相当数量的堆外内存,因为我使用的是 pyspark,所以我按如下方式配置了集群: 一名执行人: s
这个问题在这里已经有了答案: Requirements for converting Spark dataframe to Pandas/R dataframe (1 个回答) 关闭 6 年前。 我
我有 JSON 数据,我正在将这些数据读入一个包含多个字段的数据框中,根据两列对其进行重新分区,然后转换为 Pandas。 这项作业在仅 600,000 行数据上的 EMR 上不断失败,并带有一些模糊
我有一台机器“c3.8xlarge”的 EMR 集群,在阅读了几个资源后,我明白我必须允许大量的堆外内存,因为我使用的是 pyspark,所以我配置了集群如下: 一名执行人: spark.execut
我正在尝试将大小为 [2734984 行 x 11 列] 的 pyspark 数据帧转换为调用 toPandas() 的 Pandas 数据帧。虽然在使用 Azure Databricks Noteb
我是一名优秀的程序员,十分优秀!