- java.lang.OutOfMemoryError: Java heap space ,OOM , 内存溢出
hive: 调大,hive.exec.reducers.bytes.per.reducer;
-set mapred.max.split.size
-set mapred.min.split.size
-set mapreduce.reduce.shuffle.memory.limit.percent=0.1
spark: 调大 driverMemory ,executerMemory
-spark.shuffle.service.enabled=true
-spark.sql.auto.repartition=true
-spark.sql.shuffle.partitions=600
-spark.default.parallelism=300
-单个executor的core数量,推荐2-4个
-driver可用内存大小 2G
-executor可用内存大小 4G
-任务可用executor数量 50
- 注释符号不能空格,前面有空格会报错, 临时表 stored as rcfile 可规避 英文逗号分隔符 引发的数据串列问题。
- NoViableAltException(-1@[])
表示语法问题,检查对应sql段是否有语法错误,常见错误为中文注释引起或者注释中存在分号
- 导出csv时: 英文逗号,英文双引号 会 导致 数据串列,串行。 使用regexp_replace 函数 替换掉:
regexp_replace(xxx ,’,|"|\n’, ‘#’) xxx
- 对于Hive里的分区表&