Spark机器学习算法实操——LinearRegression

本文详细介绍了如何使用Spark与Hive进行通信,从Hive获取数据并进行预处理,构建LinearRegression线性回归模型,以及将预测结果写回HDFS。配置Spark与Hive通信涉及复制hive-site.xml到Spark目录,并添加JDBC连接器。数据获取使用Spark.sql,转换为libsvm格式。模型构建参照Spark.ml官方文档,预测结果通过追加方式写回HDFS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务要求如下:

  • 实现Spark和HIVE与HDFS之间的通信
  • 利用Spark.sql从HIVE中获取数据,并进行预处理以符合Spark机器学习库中输入文件的libsvm格式
  • LinearRegression线性回归模型建模
  • 将得到的预测结果写回HDFS

现在明确了我们的任务目标,就从头开始进行。

配置Spark和Hive之间的通信

Spark内部可以直接让SparkContext从hdfs上获取数据(保证和集群具有相同的网络环境)。

//举例
//创建sparkConf对象,设置spark应用的配置信息
        SparkConf conf = new SparkConf()
                .setAppName("WordCount")
                .setMaster("local");  //spark应用程序要连接的spark集群的master节点的url,local代表的是本地运行
        //.setMaster("spark://ip:port");

        //创建JavaSparkContext对象
        JavaSparkContext sc = new JavaSparkContext(conf);

        //针对输入源(hdfs文件、本地文件等)创建一个初始的RDD
        JavaRDD<String> lines = sc.textFile("hfs://master:9000/wordcount.txt");

在Spark1.6开始之后增加了DataSet数据类型,我们注意到通过Spar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值