




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、技术创新,变革未来Spark SQL技术平台详解内容Spark SQL介绍Spark SQL APIDataFrame开发 Spark SQL示例Spark SQL优化Spark SQL是什么Spark SQL的前生是Shark基于Spark最佳的SQL计算专门用于处理结构化数据支持多种数据源,包括Hive、parquet、orc、JSON、 RDBMS、RDD等性能优化上做的很好使用简单,代码易读给熟悉SQL的技术人员提供快速访问大数据 的工具Spark SQL APISQL与hive类似有SparkSQL命令行有thriftserver和beeline客户端DataFrameDataFra
2、me可以在spark程序中使用SQL与RDD类似的分布式数据集,但增加了列的 概念之前是SchemaRDD将来是DataSet其API支持Scala/Java/Python/RSQL与控制语句的结合DataFrame开发创建SQLContext对象生成DataFrame,可来自RDD或其他数据源执行Transformation,调用DataFrame API或 者通过函数执行sql执行Action,返回结果或保存到文件中DataFrame开发创建SQLContext对象/ 导入语句,可以隐式地将RDD转化成DataFrame import sqlContext.implicits._/ 首先用
3、SparkContext对象创建SQLContext对象val sqlContext = new org.apache.spark.sql.SQLContext(sc)DataFrame开发RDD生成DataFrame/参数名即为列名case class Employee(id: Int, name: String, age: Int)val rdd = sc.textFile(employee.txt)val df = rdd.map(_.split(,).map(e = employee(e(0).trim.toInt, e(1), e(2).trim.toInt).toDF()DataF
4、rame开发import sqlContext.implicits._val sqlContext = new org.apache.spark.sql.SQLContext(sc)case class Employee(id: Int, name: String, age: Int) val rdd = sc.textFile(employee.txt)val df = rdd.map(_.split(,).map(e = employee(e(0).trim.toInt, e(1), e(2).trim.toInt).toDF()df.show() df.printSchema() df.
5、select(name).show()df.filter(df(age) 21).show()df.groupBy(age).count().show()DataFrame开发RDD生成DataFramecase class方式:通过定义case Class,使用反射推断SchemaapplySchema方式:通过可编程接口,定义Schema, 并应用到RDD上DataFrame读写多种数据源RDDJSONParquetJDBCDataFrame SaveModeSaveMode选择SaveMode.Append:将新数据追加在原数 据后面SaveMode.Overwrite:覆盖原数据Sav
6、eMode.ErrorIfExists:默认为此状态SaveMode.Ignore:如果文件存在就放弃写Spark SQL示例RDD转DataFrameJSON转DataFrameParquet转DataFramehive表转DataFramehive表与非hive表混合使用cache使用Spark SQL 优化选项默认值含义spark.sql.shuffle.partitions200设置Shuffle过程中Reduce Task的并行度spark.sql.autoBroadcast JoinThreshold10M广播join表,在内存够用 的情况下,增加其大小spark.sql.inMe
7、moryColu mnarSpresse dtrue会自动压缩内存中的列式存储spark.sql.parqupr ession.codecsnappy可以设置多种编码方式, 除了snappy外,还可以 设置为uncompressed, gzip和lzospark.sql.tungsten.enabl edtrue钨丝计划自动管理内存Spark SQL 优化通sqlContext.setConf(“spark.sql.shuffle.partitions”, 20)设置编写SQL时,给出明确的列名,如select column1, column2 from table,不要写select *的方式对于Spark SQL查询结果,如果数据量比较大,比 如超过1000条,那么就不要一次性collect()到Driver对于SQL语句中多次使用到的表,对其进行缓存, 使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主播入股合同标准文本
- 欧洲电动汽车的未来
- 第6课《防范和抵御邪教》(教学设计)-2023-2024学年六年级下册综合实践活动沪科黔科版
- 学生自我保护意识与能力培养
- 基于大数据的实验设备性能分析研究
- 2024陕西陕煤澄合矿业有限公司招聘(615人)笔试参考题库附带答案详解
- 2024西藏金龙矿业有限公司招聘20人笔试参考题库附带答案详解
- 顶尖企业的商业模式创新汇报
- 太原城市夜景照明的规划与设计研究
- 2024-2025学年新教材高中数学 第六章 平面向量及其应用 6.3 平面向量基本定理及坐标表示 6.3.4(教学用书)教学实录 新人教A版必修第二册
- 招标代理服务应急预案
- 油橄榄主要病虫害及防治
- 霞浦县沙江水闸除险加固工程环境影响报告
- 卖油翁说课稿
- 智慧酒店数字智能化整体解决方案
- 技术通知单(新模版-0516)
- 移动网络维护人员技能认证-安全-L1备考试题库大全-上(单选题汇总)
- 餐饮从业人员晨检表
- 福建省地图矢量PPT模板(可编辑)
- US-52交流电机调速控制器
- 新能源电动汽车操作安全
评论
0/150
提交评论