본문 바로가기
프로그래밍/spark

Spark Serialized Task is Too Large Error

by W.C. 2018. 1. 2.
728x90

Spark Serialized Task is Too Large Error

HBase와 연동하여 테스트 중

Hbase에서 scan한 데이터를 가져와서 RDD 형태 DataFrame형태로 만들 때 이런 에러가 발생했다.

참조 - https://docs.databricks.com/spark/latest/faq/spark-serialized-task-is-too-large.html

에러 메시지

Serialized task XXX:XXX was XXX bytes, which exceeds max allowed: spark.rpc.message.maxSize (XXX bytes).
Consider increasing spark.rpc.message.maxSize or using broadcast variables for large values.

설정 상에서 저 위에 값을 바꿔줘도 되지만

프로그램밍으로 해결 할 수도 있다.

%scala

val largeList = Seq(...) // This is a large list
val partitionNum = 100 // Increase this number if necessary
val rdd = sc.parallelize(largeList, partitionNum)
val ds = rdd.toDS()
Copy to clipboardCopy
%python

largeList = [...] # This is a large list
partitionNum = 100 # Increase this number if necessary
rdd = sc.parallelize(largeList, partitionNum)
ds = rdd.toDS()


'프로그래밍 > spark' 카테고리의 다른 글

SPARK ElasticSearch 연동  (0) 2018.01.02
SPARK와 HBASE 연동  (3) 2018.01.02