我正在尝试使用两个spark sql with子句从一个hive表中读取两个分区,并在这两个分区上使用left outer join来获取增量,这两个分区都有270亿条记录,大小为900 10,每个90 10的分区中有10个文件。文件格式是具有快速压缩的拼图。 我在一个包含28个节点的aws emr r4.16xlarge集群中运行pyspark作业。我尝试了各种spark配置,但每次作业都失败并出现Job aborted due to stage failure: most recent failure: Lost task java.io.IOException: No space le
我对Spark还比较陌生,我使用python和spark编写了一个简单的脚本。我的问题是,在执行的初始阶段,它是完全正常的,但渐渐地,它放慢了速度,在最后一个阶段结束时,整个应用程序挂起。下面是应用程序挂起的代码片段-
hivectx.registerDataFrameAsTable(aggregatedDataV1,"aggregatedDataV1")
q1 = "SELECT *, (Total_Sale/Sale_Weeks) as Average_Sale_Per_SaleWeek, (Total_Weeks/Sale_Weeks) as Velocity F
我有25个蜂巢脚本,每个有200个蜂巢查询。我在我的aws集群中使用spark命令运行每个hql。我正在运行所有的火花-sql命令并行使用&操作符。我能够在tez上成功地使用单元运行相同的hql。我也在尝试使用spark来提高性能。但是,使用spark,只有2-3个脚本执行得很好;其余的sql由于对等错误设置的连接而失败。我相信,这是由于资源不足,在纱线集群的火花。
当我观察到纱线控制台时,我可以看到它正在利用集群的全部内存,尽管我在命令中指定了executor和驱动程序内存。
能帮我找出这个问题的确切原因吗?
下面是我的EMR集群配置:
Data Nodes : 6
RAM per
下面我有一个简单的配置单元查询,我们有一个并行运行多个配置单元查询的用例,在我们的例子中是16 (我们机器中的核心数量,使用scala解析数组)。在Spark 1.6中,它在10秒内执行,但在Spark 2.0中,同样的查询需要5分钟。
"select * from emp as e join dept d on o.dept_id = t.dept_id where o.dept_id =100“
有没有人能帮我出什么问题。为什么花了这么长时间?
问候你,杰伊
添加文件s3://nouveau3/cleanser/cleanser.py
CREATE EXTERNAL TABLE IF NOT EXISTS ext_tbl (
c STRING
) ROW FORMAT DELIMITED
LINES TERMINATED BY '\n'
LOCATION 's3-location'
tblproperties ('skip.header.line.count'='1');
CREATE TABLE main_tbl (schema);
INSERT INTO TABL