Pyspark,EOFError-内存问题或数据损坏?

时间:2018-12-12 10:55:40

标签: pyspark eoferror

我有一个数据框,其中包含约200万行带有URL的行,其中2列为id和url。我需要从URL解析域。我将lambda与urlparse或简单拆分一起使用。但是我总是通过两种方式得到EOFError。如果我创建一个随机的40万个“样本”,它将起作用。

有趣的是pyspark向我显示了具有新列域的前20行,但是我无法执行任何操作,否则我会再次遇到错误。

是内存问题还是数据有问题?有人可以建议我还是给我提示?

我搜索了几个与此有关的问题,没有一个对我有帮助。

代码:

parse_domain = udf(lambda x: x.split("//")[-1].split("/")[0].split('?')[0], 
returnType=StringType())
df = df.withColumn("domain", parse_domain(col("url")))
df.show()

示例网址:

"https://www.dataquest.io/blog/loading-data-into-postgres/"
"https://github.com/geekmoss/WrappyDatabase"
"https://www.google.cz/search?q=pyspark&rlz=1C1GCEA_enCZ786CZ786&oq=pyspark&aqs=chrome..69i64j69i60l3j35i39l2.3847j0j7&sourceid=chrome&ie=UTF-8"
"https://search.seznam.cz/?q=google"

和我不断得到的错误:

Traceback (most recent call last):
  File "/opt/spark-2.3.2-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/daemon.py", line 170, in manager
  File "/opt/spark-2.3.2-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/daemon.py", line 73, in worker
  File "/opt/spark-2.3.2-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/worker.py", line 278, in main
    if read_int(infile) == SpecialLengths.END_OF_STREAM:
  File "/opt/spark-2.3.2-bin-hadoop2.7/python/lib/pyspark.zip/pyspark/serializers.py", line 692, in read_int
    raise EOFError
EOFError

0 个答案:

没有答案