@zhangyy
2021-03-22T17:45:17.000000Z
字数 2157
阅读 317
Spark的部分
- 1. 基础
1.1:hive
基本上Hiveql 95% 都可以在spark sql 运行
1.2:SparkCore
RDD
- 2. DataFrame
企业中SparkSql
-1,分析数据
hive 表中
-2,DSL
DataFrame
性能非常好
内存考虑
sqlContext.read
.parquet("/user/beifeng/spark/sql/order.parquet") // DataFrame
.select("col1")
.groupBy("co12")
.orderBy("col3")
.filter()
.write
.jdbc(url,tableName,props)
归结于:DataFrame + External Data Source
Dremel
-1,Presto
-2,Impala
游戏公司
-2.1 yum rpm 安装
-2.2 CM
flume + kafka + hbase + impala + java + python
-3,drill (1PB/3s)
-4,kylin (麒麟框架 olap)
http://kylin.apache.org/
Spark sql 前世今生
-1,1.0 版本
shark = hive on spark
-2, 1.0.x 版本
spark sql
appha 版本
-3, 1.3.X 版本
dataframe
release 版本
-4, 1.5.x 版本
钨丝计划
-5, 1.6.新版本
DataSet
-6, 2.0 版本
。。。。。
总结一点:
spark sql 开始的话,替换HIVE 底层,sparkSQL与hive完全兼容,尤其是HQL 语句
shark
-1. Spark SQL
alpha 版本
-2,hive on spark
hive
-1,mapreduce
-2,spark
-3,tez
cd /soft/hive/conf
cp -p hive-site.xml /soft/spark/conf
第一种方法:
spark-shell --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar
sqlContext.sql("show databases")
sqlContext.sql("show databases").show
sqlContext.sql("use default").show
sqlContext.sql("show tables").show
sqlContext.sql("select * from emp").show
select deptno,count(1) from emp group by deptno;
sqlContext.sql("select deptno,count(1) from emp group by deptno").show
直接调用spark-sql 命令行:
spark-sql --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar
show databases;
spark sql 的 DSL 语句:
spark-shell --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar
val df = sqlContext.sql("select * from emp")
df.select("empno").show
df.select($"empno").show
spark 的 cache 缓存
spark-sql --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar
cache table emp
select * from emp;
执行计划:
explain extended select count(*) from emp
显示出执行这个SQL 语句的执行计划
cd /soft/spark/sbin/
./start-thriftserver.sh --master local[2] --jars=/soft/hive/lib/mysql-connector-java-5.1.44-bin.jar
cd /soft/spark/bin
./beeline
!connect jdbc:hive2://localhost:10000