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
spark-sql使用笔记的更多相关文章
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
		
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
 - Spark SQL笔记——技术点汇总
		
目录 概述 原理 组成 执行流程 性能 API 应用程序模板 通用读写方法 RDD转为DataFrame Parquet文件数据源 JSON文件数据源 Hive数据源 数据库JDBC数据源 DataF ...
 - Spark SQL官网阅读笔记
		
Spark SQL是Spark中用于结构化数据处理的组件. Spark SQL可以从Hive中读取数据. 执行结果是Dataset/DataFrame. DataFrame是一个分布式数据容器.然而D ...
 - Spark SQL笔记
		
HDFS HDFS架构 1.Master(NameNode/NN) 对应 N个Slaves(DataNode/NN)2.一个文件会被拆分成多个块(Block)默认:128M例: 130M ==> ...
 - Spark2.x学习笔记:Spark SQL程序设计
		
1.RDD的局限性 RDD仅表示数据集,RDD没有元数据,也就是说没有字段语义定义. RDD需要用户自己优化程序,对程序员要求较高. 从不同数据源读取数据相对困难. 合并多个数据源中的数据也较困难. ...
 - Spark2.x学习笔记:Spark SQL的SQL
		
Spark SQL所支持的SQL语法 select [distinct] [column names]|[wildcard] from tableName [join clause tableName ...
 - Spark2.x学习笔记:Spark SQL快速入门
		
Spark SQL快速入门 本地表 (1)准备数据 [root@node1 ~]# mkdir /tmp/data [root@node1 ~]# cat data/ml-1m/users.dat | ...
 - Hive sql & Spark sql笔记
		
记录了日常使用时遇到的特殊的查询语句.不断更新- 1. SQL查出内容输出到文件 hive -e "...Hive SQL..." > /tmp/out sparkhive ...
 - Spark 学习笔记:(三)Spark SQL
		
参考:https://spark.apache.org/docs/latest/sql-programming-guide.html#overview http://www.csdn.net/arti ...
 - Spark SQL 笔记
		
Spark SQL 简介 SparkSQL 的前身是 Shark, SparkSQL 产生的根本原因是其完全脱离了 Hive 的限制.(Shark 底层依赖于 Hive 的解析器, 查询优化器) Sp ...
 
随机推荐
- docker之修改存储位置
			
#停止docker 1.systemctl stop docker 2.mkdir /home/docker-lib #在我这个项目里home是普通硬盘,在home下创建一个目录3.mv /var ...
 - 《JAVA程序设计》_第十一周学习总结
			
一.学习内容 13.1 URL类 URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用程序称作客户端程序. 一个URL对象包含的三个基本信息:协 ...
 - linux 上使用yum 安装openjdk1.8
			
使用yum查找jdk: yum search java|grep jdk # yum search java|grep jdk ldapjdk-javadoc.noarch : Javadoc for ...
 - linux 定时任务 cron,利用cron进程保活
			
cron定时任务 crond服务操作命令 /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service ...
 - JAVA字符编码一:Unicode,GBK,GB2312,UTF-8概念基础
			
第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础 来源:holen'blog 对字符编码与Unicode,ISO 10646,UCS,UTF8,UTF16, ...
 - C#实现图像拖拽以及锚点缩放功能
			
本文主要实现C#窗体图像拖拽以及锚点缩放功能 1.新建Windows窗体应用项目,添加一个panel控件,在panel控件上添加picturebox控件 代码如下: using System; usi ...
 - hive分区与实际分区文件不匹配导致spark读文件出错的问题解决
			
先解释下,由于历史原因导致hive中的看到分区比hdfs中的文件夹不匹配,存在hive中分区数有,实际hdfs中无此文件夹. spark中通过sparkSQL读取hive中的该表时,将会出现异常. 解 ...
 - 巧用List.stream()方法对List做处理
			
List.steam()的强大之处在此不做赘述. 直接进入主题: 1.过滤Bean List中,某些字段等于指定值的所有行 List<Member> list = itemsArray.t ...
 - thinkphp项目部署在phpstudy里的nginx上
			
朋友的一个thinkphp做的项目,让我帮他部署一下的,LINUX服务器,用宝塔. 第一台服务器,装上宝塔,宝塔里装NGINX,PHP5.6,再建立网站,绑定域名,访问成功,一切正常! 昨天试着给另一 ...
 - WebGL学习笔记(十四):一些零碎的记录
			
HUD和Billboard 这两个名词都指向同一种东西,即始终面向摄像机的面片,该技术在游戏中大量使用,比如UI的绘制.模型头顶的名称和血条等等都需要使用到. 交换缓冲区 在PC上使用的OpenGL开 ...