scala—如何从.dat文件中读取第一条记录,将其转换并最终存储在hdfs中

zxlwwiss  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(339)

我正在尝试使用sparkscalashell读取awss3中的一个.dat文件,并使用.dat文件的第一条记录创建一个新文件。
假设我的.dat文件路径是“s3a://filepath.dat”
我想我的逻辑应该是这样的,但我不知道如何得到第一张唱片。

val file = sc.textFile("s3a://filepath.dat")
val onerecord = file.getFirstRecord()
onerecord.saveAsTextFile("s3a://newfilepath.dat")

我一直在尝试遵循这些解决方案
如何在databricks中使用scala跳过dat文件的第一行和最后一行并使其成为dataframe
https://stackoverflow.com/questions/51809228/spark-scalahow-to-read-data-from-dat-file-transform-it-and-finally-store-in-h#:~:text=dat%20file%20in%20spark%20rdd,由%20%22%20%25%24%20%22%20signs分隔

goucqfw6

goucqfw61#

这取决于.dat文件中记录的分隔方式,但一般来说,您可以这样做(将分隔符设为“|”):

val raw = session.sqlContext.read.format("csv").option("delimiter","|").load("data/input.txt")
val firstItem = raw.first()

这看起来很奇怪,但它会解决你的问题。

相关问题