我用pyspark
安装了pip
。
我在jupyter
笔记本中编写代码。一切正常,但是导出大型java
文件时出现.csv
堆空间错误。
Here有人建议编辑spark-defaults.config
。同样在spark文档中,它说
”注意:在客户端模式下,不得通过以下方式设置此配置 SparkConf直接在您的应用程序中,因为驱动程序JVM具有 在这一点上已经开始。相反,请通过 --driver-memory命令行选项或您的默认属性文件中。”
但是,恐怕在与pyspark
一起安装pip
时没有这样的文件。
我是对的吗?我该如何解决?
谢谢!
答案 0 :(得分:0)
检查您的def derive(obj):
import copy
from django.contrib.admin.utils import NestedObjects
from django.db import DEFAULT_DB_ALIAS
from django.db.models.fields.related import ForeignKey
"""
Derive a new model instance from previous one,
and duplicate all related fields to point to the new instance
"""
obj2 = copy.copy(obj)
obj2.pk = None
obj2.save()
collector = NestedObjects(using=DEFAULT_DB_ALIAS)
collector.collect([obj])
collector.sort()
related_models = collector.data.keys()
data_snapshot = {}
for key in collector.data.keys():
data_snapshot.update({
key: dict(
zip(
[item.pk for item in collector.data[key]],
[item for item in collector.data[key]]
)
)
})
duplicate_order = reversed(related_models)
for model in duplicate_order:
# Find all FKs on model that point to a related_model.
fks = []
for f in model._meta.fields:
if isinstance(f, ForeignKey) and f.rel.to in related_models:
fks.append(f)
# Replace each `sub_obj` with a duplicate.
if model not in collector.data:
continue
sub_objects = collector.data[model]
for obj in sub_objects:
for fk in fks:
dupe_obj = copy.copy(obj)
setattr(dupe_obj, fk.name, obj2)
dupe_obj.pk = None
dupe_obj.save()
return obj2
路径。下有配置文件:
spark
,例如
$SPARK_HOME/conf/
。
答案 1 :(得分:0)
我最近也遇到了这个问题。如果您查看 Classpath Entries
下的 Spark UI,第一个路径可能是配置目录,类似于 /.../lib/python3.7/site-packages/pyspark/conf/
。当我寻找那个目录时,它不存在;大概它不是 pip
安装的一部分。但是,您可以轻松创建它并添加您自己的配置文件。例如,
mkdir /.../lib/python3.7/site-packages/pyspark/conf
vi /.../lib/python3.7/site-packages/pyspark/conf/spark-defaults.conf