从 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读取Hive数据的两种方式与保存数据到HDFS

spark 可以直接向hdfs 输入数据吗

scala怎么读取hdfs中的文件

如何使用Spark Streaming读取HBase的数据并写入到HDFS

从 pyspark 中的 HDFS 读取 70gb bson 文件然后将其索引到 Elastic 时出错

【大数据】Spark 递归读取 HDFS