spark SQL(六)性能调整
spark SQL 性能调整
内存中缓存的配置可以使用上面的setConf方法SparkSession或SET key=value使用SQL 运行 命令来完成。
属性名称 | 默认 | 含义 |
spark.sql.inMemoryColumnarStorage.compressed | true | 设置为true时,Spark SQL将根据数据的统计信息自动为每列选择压缩编解码器。 |
spark.sql.inMemoryColumnarStorage.batchSize | 10000 | 控制列式高速缓存的批量大小。较大的批量大小可以提高内存利用率和压缩率,但是在缓存数据时会面临OOM风险。 |
属性名称 | 默认 | 含义 |
spark.sql.files.maxPartitionBytes | 134217728(128 MB) | 读取文件时打包到单个分区的最大字节数。 |
spark.sql.files.openCostInBytes | 4194304(4 MB) | 可以同时扫描以字节数量度量的打开文件的估计成本。将多个文件放入分区时使用。 最好是高估,那么小文件的分区会比大文件的分区快(这是首先安排的)。 |
spark.sql.broadcastTimeout | 300 | 广播连接中的广播等待时间以秒为单位超时 |
spark.sql.autoBroadcastJoinThreshold | 10485760(10 MB) | 配置在执行连接时将广播到所有工作节点的表的最大大小(以字节为单位)。通过将 此值设置为-1,可以禁用广播。请注意,目前只有ANALYZE TABLE <tableName> COMPUTE STATISTICS noscan运行命令的Hive Metastore表才支持统计信息 。 |
spark.sql.shuffle.partitions | 200 | 配置混洗连接或聚合数据时要使用的分区数。 |
这里实现的Thrift JDBC / ODBC服务器对应HiveServer2
于Hive
1.2.1。您可以使用Spark或Hive 1.2.1附带的beeline脚本测试JDBC服务器。 要启动JDBC / ODBC服务器,请在Spark目录中运行以下命令:
./sbin/start-thriftserver.sh
该脚本接受所有的bin/spark-submit
命令行选项,还有一个--hiveconf
选项来指定Hive属性。您可以运行./sbin/start-thriftserver.sh
所有可用选项的完整列表。默认情况下,服务器侦听localhost:10000。你可以通过两个环境变量覆盖这个行为,即:
--help
export HIVE_SERVER2_THRIFT_PORT=<listening-port>
export HIVE_SERVER2_THRIFT_BIND_HOST=<listening-host>
./sbin/start-thriftserver.sh \
--master <master-uri> \
...
或系统属性:
./sbin/start-thriftserver.sh \
--hiveconf hive.server2.thrift.port=<listening-port> \
--hiveconf hive.server2.thrift.bind.host=<listening-host> \
--master <master-uri>
...
现在,您可以使用直线来测试Thrift JDBC / ODBC服务器:
./bin/beeline
使用以下命令直接连接到JDBC / ODBC服务器:
beeline> !connect jdbc:hive2://localhost:10000
直线会问你一个用户名和密码。在非安全模式下,只需在您的机器上输入用户名和密码即可。对于安全模式,请按照直线文档中的 说明进行操作。
hive 的结构是通过将您做hive-site.xml
,core-site.xml
和hdfs-site.xml
文件conf/
。
您也可以使用Hive附带的直线脚本。
Thrift JDBC服务器还支持通过HTTP传输发送节俭的RPC消息。使用以下设置启用HTTP模式作为系统属性或在hive-site.xml
文件中conf/
:
hive.server2.transport.mode - Set this to value: http
hive.server2.thrift.http.port - HTTP port number to listen on; default is 10001
hive.server2.http.endpoint - HTTP endpoint; default is cliservice
要测试,使用直线连接到HTTP模式下的JDBC / ODBC服务器:
beeline> !connect jdbc:hive2://<host>:<port>/<database>?hive.server2.transport.mode=http;hive.server2.thrift.http.path=<http_endpoint>
5, 运行Spark SQL CLI
要启动Spark SQL CLI,请在Spark目录中运行以下命令:
./bin/spark-sql
hive的结构是通过将您做hive-site.xml
,core-site.xml
和hdfs-site.xml
文件conf/
。您可以运行./bin/spark-sql
所有可用选项的完整列表。
--help
spark SQL(六)性能调整的更多相关文章
- oracle管理优化必备语句以及oracle SQL语句性能调整
本文转自http://www.dataguru.cn/article-3302-1.html oracle数据库管理优化必备语句: 1. SELECT T.START_TIME,T.USED_UBLK ...
- 自适应查询执行:在运行时提升Spark SQL执行性能
前言 Catalyst是Spark SQL核心优化器,早期主要基于规则的优化器RBO,后期又引入基于代价进行优化的CBO.但是在这些版本中,Spark SQL执行计划一旦确定就不会改变.由于缺乏或者不 ...
- SQL语句性能调整原则
一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统 ...
- spark sql 的性能调优
Caching Data in Memory 其他调优参数
- Spark SQL概念学习系列之性能调优
不多说,直接上干货! 性能调优 Caching Data In Memory Spark SQL可以通过调用sqlContext.cacheTable("tableName") 或 ...
- Spark学习之Spark SQL
一.简介 Spark SQL 提供了以下三大功能. (1) Spark SQL 可以从各种结构化数据源(例如 JSON.Hive.Parquet 等)中读取数据. (2) Spark SQL 不仅支持 ...
- Spark SQL 官方文档-中文翻译
Spark SQL 官方文档-中文翻译 Spark版本:Spark 1.5.2 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 Data ...
- Spark SQL 之 Performance Tuning & Distributed SQL Engine
Spark SQL 之 Performance Tuning & Distributed SQL Engine 转载请注明出处:http://www.cnblogs.com/BYRans/ 缓 ...
- Spark SQL原理及实战
一.Spark SQL的发展 1.spark SQL和shark SparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,Hive应运而生,它是当 ...
- Oracle性能调整ASH,AWR,ADDM
ASH (Active Session History)ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件.不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成.ASH ...
随机推荐
- sqlite嵌入式数据库简介及特性
p.p1 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(69, 69, 69, 1) } p.p2 { margin: ...
- JS function 是函数也是对象, 浅谈原型链
JS function 是函数也是对象, 浅谈原型链 JS 唯一支持的继承方式是通过原型链继承, 理解好原型链非常重要, 我记录下我的理解 1. 前言 new 出来的实例有 _proto_ 属性, 并 ...
- jpa 主键重复导致查询list的数据总是重复第一条数据
背境: JPA 读取 Oracle 中的视图,同一条sql, 在数据库 IDE (PLSql)读出 878 条记录并正常显示,代码依然保存了 878 条记录,但所有记录均一样,即数据库中第一条记录. ...
- DRF之访问权限控制和访问频率控制(节流)
权限控制 前言 用户验证用户权限,根据不同访问权限控制对不同内容的访问. 建议了解视图.token验证的内容. 使用流程 自定义访问权限类,继承BasePermission,重写has_permiss ...
- 搭建 Typecho 个人博客
搭建 Typecho 个人博客 前言 最近在学习中,感觉有个自己的博客,用来记录学习总结,写写生活点滴是件不错的事. 在网上看到 Typecho 博客和 WordPress博客,顿时被 Typecho ...
- CentOS8_在线安装_网络源_网络镜像源填写格式_以及其他笔记
CentOS8_在线安装_网络源_网络镜像源填写格式_以及其他笔记 转载注明来源: 本文链接 来自osnosn的博客,写于 2020-10-1. 参考: Centos8.0.1905 在线安装源选择 ...
- 超过varchar定义长度
mysql> select version();+------------+| version() |+------------+| 5.1.73-log |+------------+1 ro ...
- ctfhub技能树—文件上传—.htaccess
首先介绍一下.htaccess(来自百度百科) .htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口).提供了针对目录改变配置的方法 ...
- oracle分区表分区栏位NULL值测试
实验在分区栏位为NULL时,分区表的反应 1.创建普通的分区表 CREATE TABLE MONKEY.TEST_PART_NULL_NORMAL ( ID NUMBER, ADD_DATE DATE ...
- MYSQL基础知识的复习2
1.修改表中的数据 update 表名 set 要修改的字段 where 条件;-- 如果修改多个字段那么字段和字段之间用逗号隔开 2.查询(很重要) 1.查询表中部分字段: select 字段名,字 ...