08_spark_core_数据读存_text文件@H_404_7@
文件类数据读取与保存
1)创建包名:com.atguigu.readAndSave
1)基本语法
(1)数据读取:textFile(String)
(2)数据保存:saveAsTextFile(String)
2)代码实现
package com.atguigu.readAndSave
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
/**
* @author dxy
* @date 2021/2/25 13:04
*/
object Operate_Text {
def main(args: Array[String]): Unit = {
//Todo 1.创建SparkConf并设置App名称
val conf: SparkConf = new SparkConf().setAppName("SparkCoreTest").setMaster("local[*]")
//Todo 2.创建SparkContext,该对象是提交Spark App的入口
val sc: SparkContext = new SparkContext(conf)
//text文件的读取
val rdd: RDD[String] = sc.textFile("D:\\DevelopmentTools\\spark\\SparkCoreTest1109\\input\\1.txt")
val rdd2: RDD[String] = sc.textFile("hdfs://hadoop102:8020/sparkinput/1.txt")
//text文件的存储
val etlRDD: RDD[String] = rdd2.filter(
line => line.contains("spark")
)
etlRDD.coalesce(1).saveAsTextFile("D:\\DevelopmentTools\\spark\\SparkCoreTest1109\\sparkout2")
//Todo 3.关闭连接
sc.stop()
}
}
总结:
1.textFile可以读本地文件也可以读集群文件,按行读取
2.text格式文件的存储可以使用save行动算子
saveAsTextFile------保存text格式文件
saveAsSequence------保存二进制格式文件
saveAsObject--------保存二进制格式文件
存储可以存储到本地或者集群。
另外对于文件读取要灵活处理,比如:保存文件,文件内容较少可以保存在一个文件中,可以灵活使用coalesce()算子,先改分区个数
即:rdd.coalesce(1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。