从 HDFS 读取到 Spark
Posted
技术标签:
【中文标题】从 HDFS 读取到 Spark【英文标题】:Reading from HDFS into Spark 【发布时间】:2017-03-21 22:09:05 【问题描述】:我正在尝试将文件 并对其执行一些数据处理。最初,我使用 Sqoop 将文件从 mysql 数据库传输到 Spark。 SQL 数据库表有三列——movieid、title 和genre。我想知道如何格式化 sc.textFile 以正确提取文件。
运行 hdfs dfs -ls,我明白了:
drwxr-xr-x - hduser1 supergroup 0 2017-03-20 23:51 movies
运行 hdfs dfs -ls 电影,我明白了:
-rw-r--r-- 1 hduser1 supergroup 0 2017-03-20 23:51 movies/_SUCCESS
-rw-r--r-- 1 hduser1 supergroup 1290474 2017-03-20 23:51 movies/part-m-0000
我想弄清楚的是下面的函数会发生什么:
case class Movie(movieid: String, title: String, genres: String)
val movieRdd: RDD[Movie] = sc.textFile(***WHAT GOES HERE***).map(-formatting-)
【问题讨论】:
试试这个:sc.textFile("/movies")
【参考方案1】:
您可以按以下格式编码:
sc.textFile(hdfs://NamenodeIPAddress:Port/DirectoryLocation)
example: sc.textFile(hdfs://127.0.0.1:8020/user/movies)
请根据您的名称节点 IP 地址和您所在位置的路径更改 IP 地址。
希望对您有所帮助!!!...
【讨论】:
感谢您的回复!最终不得不在 localhost 上使用端口 54310,但它运行良好。谢谢。 当您将文件复制到 HDFS 时,Sqoop 是否会删除 SQL 架构?或者有什么办法可以恢复?以上是关于从 HDFS 读取到 Spark的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Spark Streaming读取HBase的数据并写入到HDFS