相关疑难解决方法(0)

Spark:使用与新行不同的分隔符读取文件

我正在使用Apache Spark 1.0.1.我有许多文件用UTF8分隔,\u0001而不是通常的新行\n.如何在Spark中读取此类文件?意思是,默认分隔符sc.textfile("hdfs:///myproject/*")\n,我想将其更改为\u0001.

apache-spark

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

如果Spark支持内存溢出到磁盘,那么Spark Out of Memory怎么会发生呢?

我读了一些关于Spark内存管理的文档。

\n\n

在此页面上:如果我没有足够的内存,spark 会做什么?。它说:

\n\n
\n

Spark将分区存储在内存中的LRU缓存中。当缓存达到其大小限制时,它会从中逐出条目(即分区)。当分区具有 \xe2\x80\x9cdisk\xe2\x80\x9d 属性(即您的持久性级别允许在磁盘上存储分区)时,它将被写入 HDD 并且它消耗的内存将被释放,除非您请求它。当您请求它时,它将被读入内存,如果没有足够的内存,则缓存中的其他较旧条目将被逐出。如果您的分区没有 \xe2\x80\x9cdisk\xe2\x80\x9d 属性,则逐出仅意味着销毁缓存条目而不将其写入 HDD。

\n
\n\n

那么如果内存不够的话分区会溢出到磁盘,那么Spark运行时怎么会出现内存不足的问题呢?

\n

apache-spark

6
推荐指数
1
解决办法
3062
查看次数

如果RDD无法适应Spark中的内存会发生什么?

据我所知,Spark会尝试在内存中进行所有计算,除非您使用磁盘存储选项调用persist.但是,如果我们不使用任何持久性,当RDD不适合内存时,Spark会做什么?如果我们有非常庞大的数据怎么办?Spark如何处理它而不会崩溃?

hadoop scala bigdata apache-spark

5
推荐指数
1
解决办法
3811
查看次数

Spark数据集超出了总RAM大小

我最近在进行火花工作,遇到了一些我仍然无法解决的查询。

假设我有一个100GB的数据集,而我的群集内存大小为16 GB。

现在,我知道在简单读取文件并将其保存在HDFS中的情况下,Spark会对每个分区执行此操作。对100GB数据执行排序或聚合转换时会发生什么?由于排序时需要全部数据,它将如何处理100GB的内存?

我已经浏览了下面的链接,但这仅告诉我们在持久存在的情况下spark会执行什么操作,我正在寻找的是Spark聚合或对大于ram大小的数据集进行排序。

Spark RDD-分区是否始终在RAM中?

任何帮助表示赞赏。

hadoop hdfs apache-spark

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

标签 统计

apache-spark ×4

hadoop ×2

bigdata ×1

hdfs ×1

scala ×1