点击上方蓝色字体,选择“设为星标”
回复”资源“获取更多资源
点击右侧关注,大数据开发领域最强公众号!
点击右侧关注,暴走大数据!
目录
一.hive和spark sql的集成方式(面试可能会问到)
二.spark_shell和spark_sql操作
spark_shell
spark_sql
使用hiveserver2 + beeline
三.脚本使用spark-sql
四.idea中读写Hive数据
1.从hive中读数据
2.从hive中写数据
使用hive的insert语句去写
使用df.write.saveAsTable("表名")(常用)
使用df.write.insertInto("表名")
3.saveAsTable和insertInto的原理
五.聚合后的分区数
一.hive和spark sql的集成方式(面试可能会问到)
hive on spark(版本兼容)
官网https://cwiki.apache.org/confluence/display/Hive/Hive+on+Spark%3A+Getting+Startedspark on hive(版本兼容)
官网
http://spark.apache.org/docs/2.1.1/sql-programming-guide.html#hive-tables
二.spark_shell和spark_sql操作
spark_shell
如果你在集群上使用了tez,你需要在spark/conf下spark-defaults.conf添加lzo的路径
spark.jars=/export/servers/hadoop-2.7.7/share/hadoop/common/hadoop-lzo-0.4.20.jar
spark-yarn模式启动
bin/spark-shell --master yarn
spark_sql
完全跟sql一样
使用hiveserver2 + beeline
spark-sql 得到的结果不够友好, 所以可以使用hiveserver2 + beeline
1.启动thriftserver(后台)
sbin/start-thriftserver.sh
2.启动beeline
bin/beeline
三.脚本使用spark-sql
四.idea中读写Hive数据
1.从hive中读数据
添加依赖
<dependency>
代码实现
import org.apache.spark.sql.SparkSession
结果
2.从hive中写数据
使用hive的insert语句去写
import org.apache.spark.sql.SparkSession
使用df.write.saveAsTable(“表名”)(常用)
import org.apache.spark.sql.SparkSession
使用df.write.insertInto(“表名”)
import org.apache.spark.sql.SparkSession
3.saveAsTable和insertInto的原理
saveAsTable
使用列名进行分配值
insertInto
按照位置进行1对1
五.聚合后的分区数
import org.apache.spark.sql.SparkSession
结果:聚合函数分区数默认200个
如果数据量小,没必要200两个分区,简直浪费。
df2.write.saveAsTable("a4")
修改为
df2.coalesce(1).write.saveAsTable("a4")
版权声明:
本文为大数据技术与架构整理,原作者独家授权。未经原作者允许转载追究侵权责任。
编辑|谭林平丶
微信公众号|import_bigdata
欢迎点赞+收藏+转发朋友圈素质三连
文章不错?点个【在看】吧!** 👇**
本文分享自微信公众号 - 大数据技术与架构(import_bigdata)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。