spark-8.sparkcore_5_spark的输入输出

spark的输入输出

1.文本文件的输入、输出

1.sc.textFile(path) 文本文件的输入。
2.rdd.saveAsTextFile(path) 文本文件的输出。

2.JSON文件的输入、输出

实质上是文本文件的输入、输出,需要在程序中手动进行编码与解码。

3.CSV\TSV

CSV逗号分割,TSV tab分割,文本文件输入、输出。

4.SequenceFile文件输入、输出

val sdata = sc.sequenceFile[Int,String](“hdfs://master:9000/sdata/p*”)

对于读取来说,需要将KV的类型指定一下。
直接调用rdd.saveAsSequenceFile(path)来进行保存。

5.ObjectFile的输入、输出

val objrdd:RDD[(Int,String)] = sc.objectFile[(Int,String)](“hdfs://master:9000/objfile/p*”)

对于读取来说,需要设定KV的类型。
直接调用objrdd.saveAsObjectFile(path)来进行保存。

6.Hadoop输入、输出

1.输入
1)针对旧的hadoop API来说
提供了hadoopFile以及hadoopRDD来进行hadoop的输入和输出。
2)针对新的hadoop API来说
提供了newApiHadoopFile以及newApiHadoopRDD来进行hadoop的输入和输出。
2.输出
1)针对旧的hadoop API来说
提供了saveAsHadoopFile 以及saveAsHadoopDataSet来进行hadoop的输出。
2)针对新的hadoop API来说
提供了saveAsNewApiHadoopFile以及saveAsNewApiHadoopDataSet来进行Hadoop的输出。
3.写入:

val data = sc.parallelize(Array((30,"hadoop"),(71,"hive"),(11,"cat")))
data.saveAsNewAPIHadoopFile("hdfs://master:9000/output/",classOf[org.apache.hadoop.io.LongWritable],classOf[org.apache.hadoop.io.Text],classOf[org.apache.hadoop.mapreduce.lib.output.TextOutputFormat[org.apache.hadoop.io.LongWritable,org.apache.hadoop.io.Text]])

4.读出:

val read = sc.newAPIHadoopFile[LongWritable,Text,org.apache.hadoop.mapreduce.lib.input.TextInputFormat]("hdfs://master:9000/output/part*",classOf[TextInputFormat],classOf[LongWritable],classOf[Text])

7.数据库的输入、输出

1.读取:通过创建 new JdbcRDD来实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值