spark-scala:如何从.dat文件中读取数据,将其转换并最终存储在HDFS中 [英] spark- scala:How to read data from .dat file transform it and finally store in HDFS

查看:236
本文介绍了spark-scala:如何从.dat文件中读取数据,将其转换并最终存储在HDFS中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Sparkscala的新手,所以请帮助我.我有.dat文件,其中包含给定波纹管的数据列表,该文件具有序列号,名字,lastnsme.文件有19000条记录:

I am new to spark- scala so pls help me. I have .dat file which contains list of data as given bellow which has serial no,firstname,lastnsme .File has 19000 records:

SerialNo FirstName LastName

SerialNo FirstName LastName

1个荣沃德(Jhon Ward)

1 Jhon Ward

2碧玉平托

3夏利晕车

.etc

  1. 我需要从Spark RDD中的.dat文件读取数据.
  2. 对其进行转换以获得按名字排序的RDD数据,最后将已排序的数据存储在具有以下规范的HDFS 中:

  • 输出文件应仅具有名字和姓氏
  • 名字和姓氏应以%$"符号分隔
  • 输出应存储在单个文件中.

最终存储在HDFS中

我不确定如何在spark-scala中为此编写代码.因此请帮助我.

I am not sure how to write code for this in spark-scala .so pls help me with this.

推荐答案

请找到解决方法

val rdd = sc.textFile("/path/Test.dat")
val rddmap = rdd.map(i => i.split(" ")).map(i => (i(1),i(2))).sortByKey().map(i => i._1 + "%$" + i._2)
rddmap.repartition(1).saveAsTextFile("/path/TestOut1.dat")

输出

Jasper%$ Pinto

Jasper%$Pinto

Jhon%$ Ward

Jhon%$Ward

Shally%$ Stun

Shally%$Stun

这篇关于spark-scala:如何从.dat文件中读取数据,将其转换并最终存储在HDFS中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆