[关闭]
@zhangyy 2021-03-22T17:45:17.000000Z 字数 2157 阅读 309

Spark SQL 的应用

Spark的部分



一: Spark Sql 的前世今生

1.1 SparkSql 基础

  1. - 1. 基础
  2. 1.1:hive
  3. 基本上Hiveql 95% 都可以在spark sql 运行
  4. 1.2:SparkCore
  5. RDD
  6. - 2. DataFrame
  7. 企业中SparkSql
  8. -1,分析数据
  9. hive 表中
  10. -2,DSL
  11. DataFrame
  12. 性能非常好
  13. 内存考虑
  14. sqlContext.read
  15. .parquet("/user/beifeng/spark/sql/order.parquet") // DataFrame
  16. .select("col1")
  17. .groupBy("co12")
  18. .orderBy("col3")
  19. .filter()
  20. .write
  21. .jdbc(url,tableName,props)
  22. 归结于:DataFrame + External Data Source

1.2 围绕在大数据旁边的sql框架

  1. Dremel
  2. -1,Presto
  3. -2,Impala
  4. 游戏公司
  5. -2.1 yum rpm 安装
  6. -2.2 CM
  7. flume + kafka + hbase + impala + java + python
  8. -3,drill 1PB/3s
  9. -4,kylin (麒麟框架 olap)
  10. http://kylin.apache.org/

二:SparkSQL 相关查询

2.1 hive 的查询

image_1bu84jl8p1c031gqa17561q8d8os9.png-443.4kB

2.2 shark

image_1bu84l08a1dnusqiaskkaiq9pm.png-618kB

image_1bu84m15j1ncb16r011l12fddn013.png-745.7kB

image_1bu85ae3muri17661qbnj5h16i82a.png-466kB

  1. Spark sql 前世今生
  2. -1,1.0 版本
  3. shark = hive on spark
  4. -2, 1.0.x 版本
  5. spark sql
  6. appha 版本
  7. -3 1.3.X 版本
  8. dataframe
  9. release 版本
  10. -4 1.5.x 版本
  11. 钨丝计划
  12. -5 1.6.新版本
  13. DataSet
  14. -6 2.0 版本
  15. 。。。。。
  16. 总结一点:
  17. spark sql 开始的话,替换HIVE 底层,sparkSQLhive完全兼容,尤其是HQL 语句
  18. shark
  19. -1. Spark SQL
  20. alpha 版本
  21. -2hive on spark
  22. hive
  23. -1,mapreduce
  24. -2,spark
  25. -3,tez

2.3 hive 与 Spark SQL 的集成

  1. cd /soft/hive/conf
  2. cp -p hive-site.xml /soft/spark/conf
  3. 第一种方法:
  4. spark-shell --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar

image_1bua5hqks10f1rfj1tvk1ils1i7v19.png-415.1kB

image_1bua5k30u1f8269kg2o1f5upe51m.png-171.8kB

  1. sqlContext.sql("show databases")
  2. sqlContext.sql("show databases").show
  3. sqlContext.sql("use default").show
  4. sqlContext.sql("show tables").show
  5. sqlContext.sql("select * from emp").show

image_1bua5q1ft13911e18vjgr9oo6o23.png-447.9kB

image_1bua5qgpgurs9k1nig1b911re42g.png-208.5kB

image_1bua5tqce11ev11961fp7duglj52t.png-790.3kB

image_1bua5ug5pf5s1tj51l49357l1r3a.png-875.4kB

image_1bua5uscusf4122p2sjk5d1us43n.png-497.7kB

2.4 hive 与 spark sql 查询对比

  1. select deptno,count(1) from emp group by deptno;
  2. sqlContext.sql("select deptno,count(1) from emp group by deptno").show

image_1bua6nfqm285ia5n111c2moib44.png-526.8kB

image_1bua6p3p6opd313am1a25dr94h.png-30.8kB

image_1bua6plguu4h1ro219jk1hg6bmd4u.png-149.3kB

  1. 直接调用spark-sql 命令行:
  2. spark-sql --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar
  3. show databases;

image_1bua7oofn4m81lsj7m2vlbdvg5b.png-102.5kB

image_1bua7pogm11co4kk162p1kap1ekl5o.png-144.3kB

image_1bua7r1ljns61lpg1c76q3l47h65.png-162.1kB

image_1bua7rjem16i9r7a1snt1uoph056i.png-247.1kB

2.5 SparkSQL 与 hive 的比较

image_1bua86q4sg20avfj2v1ln71n5h6v.png-63.7kB

image_1bua879iv1jb81uts4docii40s7c.png-94kB

image_1bua87s381bjdfl9kkq1sem1ioq7p.png-72kB

image_1bua94bstap4pd4142m197a21ag.png-372.7kB

  1. spark sql DSL 语句:
  2. spark-shell --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar
  3. val df = sqlContext.sql("select * from emp")
  4. df.select("empno").show
  5. df.select($"empno").show

image_1bua8thoc153pq3o8mm1np01aak86.png-196.9kB

image_1bua8vb0ssg1st51juv1la6htia3.png-1006kB

2.6 SparkSQL的架构

image_1bua9bjkpi2nh2neq910ha1g69at.png-409.9kB

  1. spark cache 缓存
  2. spark-sql --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar
  3. cache table emp
  4. select * from emp;
  5. 执行计划:
  6. explain extended select count(*) from emp
  7. 显示出执行这个SQL 语句的执行计划

image_1bud8v74t16ue1cnm16nv116e13p89.png-233.9kB

image_1bud90876ngf1emt6a419l119h0m.png-445.3kB

image_1bud90miu1o19rbcg98vdisq13.png-233.2kB

image_1bud99ofr68f71kn9t1hfn1uhl1g.png-549.8kB

image_1bud9a8p916151h7c15dh1rhr1a481t.png-475.9kB

image_1bud9avcitv5ckn9uu1oqek782a.png-190.6kB

2.7 SparkSQL的ThriftServer2 配置

  1. cd /soft/spark/sbin/
  2. ./start-thriftserver.sh --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar
  3. cd /soft/spark/bin
  4. ./beeline
  5. !connect jdbc:hive2://localhost:10000

image_1bud9p03u2bg1p4ae2i1ngr9s62n.png-120.2kB

image_1bud9qhbhcnqjp051k1v0si0434.png-172.7kB

image_1budbjq8igh8sbp1qhg9i5140k9.png-720kB

image_1budbmuqi18k8cc11vki18m81pvom.png-375.2kB

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注