要成为spark高手,必须阅读spark 源码,掌握scala 。为什么选择sparkSQLShark和sparkSQL然而 , 随着Spark的发展,sparkSQL作为Spark生态系统的一员不断发展,不再受hive的限制,只兼容Hive;Hiveonspark是hive的一个开发计划,以spark作为hive的底层引擎之一 , 也就是说,hive将不再局限于一个引擎,而是可以采用mapreduce、Tez、spark等引擎 。
1、Kudu:SparkSQL操作Kudu【spark2 sql源码分析】 Abstract: SparkSQL , Kudu参考介绍sparkcore_2.11 , spark sql_2.11,kudu spark2_2.11,hadoopclient依赖包指定kudu.master,kudu.table,如果读取超时,添加kudu.operation.timeout.ms参数或者写数据 , 可以使用dataframe的write方法,也可以使用kuduContext的updateRows,insertRows , upsertRowsinsertIgnoreRows方法直接调用dataframe的write方法指定kudu.master,kudu.table,只支持append模式,自动更新现有键的数据,调用kuduContext的upsertRows方法 。效果和dataframe调用writeappend模式 , 调用kuduContextinsertRows和insertIgnoreRows方法是一样的 。如果插入的数据键已经有insertRows,它将直接报告一个错误 。
2、2019-03-05SparkSQL集群性能调优CheatSheet0 。买一台高性能的机器,加node 1 。将磁盘文件的预读值设置为16384,并使用linux命令:echo 16384 >/sys/block/{ disk name }/queue/read _ ahead _ kb2 。Spark任务序列化只支持JavaSerializer,数据序列化支持JavaSerializer和KryoSerializer 。KryoSerializer可以达到JavaSerializer的十倍 。
3、Spark数据倾斜及其解决方案本文对数据偏斜的危害、现象、原因等方面进行了探讨,由浅入深地阐述了Spark数据偏斜及其解决方案 。首先,什么是数据偏斜?对于Spark/Hadoop这样的分布式大数据系统来说,数据量大并不可怕 , 但数据偏斜就可怕了 。对于分布式系统 , 理想情况下 , 随着系统规模(节点数)的增加,整体应用耗时线性下降 。如果一台机器处理一大批数据需要120分钟,当机器数量增加到3台时 , 理想的耗时是120/340分钟 。
不幸的是,很多时候,任务的分配是不均匀的,甚至是不均匀的,以至于大部分任务都分配到了个别机器上,其他大部分机器只占总数的一小部分 。例如 , 一台机器处理80%的任务 , 另外两台机器各处理10%的任务 。“不苦多苦不均”是分布式环境下最大的问题 。意味着计算能力不是线性扩张,而是存在短板效应:一个阶段所花费的时间是由最慢的任务决定的 。
推荐阅读
- 层次分析法判断矩阵小数,ahp层次分析法判断矩阵怎么确定
- 专业的词频分析工具,图悦在线词频分析工具不能用了?
- 如何做用户行为分析报告,淘宝用户行为分析报告
- )潜在语义分析,潜在语义分析算法的计算步骤
- 程序分析表格,分析表格数据的方法
- rna-seq 分析,RNAseq分析图
- 怎么用wps分析数据透视表,wps的数据透视分析在哪里
- sw 热分析环境温度
- swot分析法 婚恋,SwOT分析法