2024年5月4日发(作者:)
spark本地开发环境搭建
前提
1. CDH集群为6.0.1(hadoop对应版本为3.0.0)
安装scala
1. 配置环境变量SCALA_HOME和path
安装maven
安装比较简单,过程略。
安装winutils(windows才需要安装)
参考
idea安装scala插件
打开settings
安装scala插件
安装完成后重启idea
idea配置
打开Project Structure
添加scala Libraries
选择scala目录
idea 创建项目
创建maven项目
点击“Next”
输入项目信息
点击“Next”
完成
点击“Finish”即可
项目创建好以后,暂时删除test目录,把java文件夹修改为scala(这一步不是必
须,看个人爱好)
1. 创建文件,写入几行数据,上传到hdfs中
2. 把hadoop集群的配置文件和复制到项目的
resources目录下
经过测试,linux下运行idea,没有这两个文件也能连上hadoop集群
3. 创建scala代码
package hdfs import ession object HdfsTest { def mai
n(args: Array[String]): Unit = { // 如果在windows本地跑,需要从widnows访
问HDFS,需要指定一个合法的身份 // perty("HADOOP_USER_NAM
E", "hdfs") val spark = r( .appName("hdfs-test") .master
("local") // 设置参数 .config("me", "false") .g
etOrCreate(; // Level("DEBUG") //支持通配符路
径,支持压缩文件读取 val path = "hdfs://10.121.138.145:8020/" val rd
d = le(path) //统计数量 println("count = "+() //停
止spark ( } }
重点说明:
1. 如果在windows下运行,请添加
perty("HADOOP_USER_NAME", "hdfs")代码,否则会提示
Permission Denied
2. CDH默认me为true,意思为使用hostname
连接hdfs,如果我们不修改本机的host文件,本地是无法连接datanode
机器。有三种方式解决
• 修改本机的host,需要配置上所有的hadoop的host及ip
• 修改配置中的me为`false
• 代码中通过sparkSession设置.config("me",
"false") (推荐)
直接运行此代码即可,如果输出中的文本行数,恭喜你实验成功!
连接hive集群,没有找到类似mehive相关
的配置,所以只能通过hosts文件来解决。
第一步:修改本机hosts文件,配置hive集群的hostname及ip
修改本机hosts文件,让本机能够解析hive集群中的机器名及ip 比如我的配置:
10.121.138.145 lfg00 10.121.138.146 lfg01 10.121.138.147 lfg02 10.121.138.14
8 lfg03
第二步:连接hive
这步有两种方式:
1. 复制hive的配置文件至项目的resources文件夹下
2. 在代码中增加.config("","thrift://lfg00:9083")
第三步:代码
发布者:admin,转转请注明出处:http://www.yc00.com/web/1714820129a2522286.html
评论列表(0条)