《Spark快速大数据分析》—— 第五章 数据读取和保存

由于Spark是在Hadoop家族之上发展出来的,因此底层为了兼容hadoop,支持了多种的数据格式。如S3、HDFS、Cassandra、HBase,有了这些数据的组织形式,数据的来源和存储都可以多样化~

449064-20160905224036098-287547008.png

本文转自博客园xingoo的博客,原文链接:《Spark快速大数据分析》—— 第五章 数据读取和保存,如需转载请自行联系原博主。
### Linux环境下Spark数据处理分析教程 #### 一、准备工作 为了在Linux环境中顺利使用Spark进行数据处理分析,需先完成一系列准备操作。 确保已成功安装虚拟机并配置好Linux环境[^1]。接着,在此环境中通过清华镜像下载Spark压缩包,并解压至指定目录下: ```bash wget https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz tar zxvf spark-3.5.1-bin-hadoop3.tgz -C /usr/local/ ``` 设置环境变量以便于后续调用spark-shell等工具更加便捷。编辑`~/.bashrc`文件,在其末尾追加如下内容: ```bash export SPARK_HOME=/usr/local/spark-3.5.1-bin-hadoop3 export PATH=$PATH:$SPARK_HOME/bin ``` 使更改生效: ```bash source ~/.bashrc ``` #### 二、启动Spark Shell 输入命令启动交互式的Scala解释器——Spark Shell用于编写简单的测试程序来验证集群状态以及熟悉API接口。 ```bash spark-shell ``` #### 三、加载数据集 利用Spark SQL模块读取外部存储的数据源作为DataFrame对象来进行高效的操作。这里以CSV格式为例展示如何导入本地磁盘上的文件: ```scala val df = spark.read.option("header","true").option("inferSchema", "true").csv("/path/to/csvfile") df.show() ``` #### 四、执行基本转换动作 基于RDD或Dataset API实现各种ETL流程中的常见任务,比如过滤特定条件下的记录、聚合统计数值等等。下面给出一段计算平均年龄的小例子: ```scala import org.apache.spark.sql.functions._ val avgAge = df.select(avg(col("age"))).collect()(0)(0) println(s"The average age is $avgAge.") ``` #### 五、保存结果到新位置 当完成了所有的变换之后可以将最终得到的结果写出成新的表格形式存入目标路径当中去。 ```scala df.write.mode(SaveMode.Overwrite).parquet("/output/path/") ``` #### 六、停止当前会话 结束本次作业前记得释放资源关闭连接。 ```scala spark.stop() ``` 对于更复杂的业务逻辑还可以考虑引入其他第三方库辅助开发;如果想要直观呈现图表则推荐采用Python生态内的matplotlib来做可视化工作[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值