栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【Spark3.2.0源码编译并用spark sql操作hive表】

【Spark3.2.0源码编译并用spark sql操作hive表】

Spark3.2.0源码编译

building 参考spark官方文档:https://spark.apache.org/docs/3.2.0/building-spark.html

环境要求 Maven 3.6.3 、 Java 8 和 Scala 2.12

当前已安装的
java-1.8
maven-3.6.3
scala-2.12.15
hadoop-3.2.2
hive-3.1.2

基于maven有两种方式:build/mvn 和 dev路径下的 make-distribution.sh
这里只记录 build/mvn 的方式。
使用make-distribution.sh的方式可以参考:https://www.cnblogs.com/chuijingjing/p/14660893.html

下载spark源码包:https://www.apache.org/dyn/closer.lua/spark/spark-3.2.0/spark-3.2.0.tgz
解压后打开,在当前目录使用 Git Bash 的命令行窗口执行:

./build/mvn -Phadoop-3.2 -Pyarn -Dhadoop.version=3.2.2 -Phive -Phive-thriftserver -DskipTests clean package

编译成功后使用IDEA打开,Build整个项目
可以发现 hive-thriftserver 没有受父级项目管理,需要在主pom文件中添加:

sql/hive-thriftserver

Linux启动Hive服务:hive --service metastore -p 9083 &
启动主类:org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver

报错、其他pom文件修改参考:https://www.cnblogs.com/chuijingjing/p/14660893.html

注意:修改pom文件后不要保留备份在同一目录,IDEA构建项目时仍然可能取到pom.xml.bak,于是所以的修改都不生效,记得因为这个浪费了好多时间。。

启动spark-sql 后。可以像在hive中一样操作hive表。
如果遇到,切换数据库都可以,但是select 数据就会报错:

	Failed to connect to namenode:9866 for file

记得检查resources/hdfs-site.xml 【以及 target/scala-2.12/classes/hdfs-site.xml】下是否有设置:

    
        dfs.datanode.use.datanode.hostname
        true
     

如果遇到:

java.io.IOException: java.nio.channels.UnresolvedAddressException

检查win的hosts文件中是否配置的namenode的域名映射

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/723265.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号