spark-sql使用笔记
如何使用hive的udf
- 可以使用spark-sql --jars /opt/hive/udf.jar,指定udf的路径
- 还可以在spark-default.conf里指定spark.jars /opt/hive/udf.jar
Truncated the string representation of a plan since it was too large
在spark-default.conf 里设置
spark.sql.debug.maxToStringFields 2000
spark.debug.maxToStringFields 2000
使用sparksql默认情况下会生成很多小文件,设置如下参数可以解决:
set spark.sql.adaptive.enabled=true;
具体可以参考:
https://www.jianshu.com/p/ddd2382a738a
在spark-default.conf里添加:spark.hadoop.hive.exec.orc.split.strategy ETL
spark.hadoop.hive.exec.orc.split.strategy是用来设置spark在读取orc文件时候的策略的,
BI策略以文件为粒度进行split划分;ETL策略会将文件进行切分,多个stripe组成一个split;
HYBRID策略为:当文件的平均大小大于hadoop最大split值(默认256M)时使用ETL策略,否则使用BI策略。
对于一些较大的ORC表,可能其footer(用于描述整个文件的基本信息、表结构信息、行数、各个字段的统计信息以及各个Stripe的信息)较大,ETL策略可能会导致其从hdfs拉取大量的数据来切分split,甚至会导致driver端OOM,因此这类表的读取建议使用BI策略。
对于一些较小的尤其有数据倾斜的表(这里的数据倾斜指大量stripe存储于少数文件中),建议使用ETL策略
这里的原因还没有调查,只是在网上查了个方法。
参考:https://www.cnblogs.com/barneywill/p/10142244.html
https://blog.csdn.net/Jiaoxin02/article/details/99293135
最新文章
- 在DevExpress程序中使用Winform分页控件直接录入数据并保存
- pcDuino-V2利用madplay播放音乐
- FineUI配置文件
- 多媒体(2):WAVE文件格式分析
- RabbitMQ(六)远程连接
- csharp: DBNull and DateTime
- ANSI_NULLS、QUOTED_IDENTIFIER
- C中的setjmp与longjmp
- SQL DCL数据控制语言,用来定义訪问权限和安全级别;
- 什么是Activity、生命周期
- BZOJ 1066: [SCOI2007]蜥蜴( 最大流 )
- 使用Pechkin将HTML网页转换为PDF
- Java中Dom解析xml文档
- SharePoint 读取选项字段所有Choise
- 【数学建模】MatLab 数据读写方法汇总
- c#调用WebService实例
- C#遍历类的属性,然后给其赋值
- 第二次作业 单例模式的SessionFactory以及线程安全的session
- Java反编译工具:Java Decompiler
- MySQL left join right join inner join