如何使用spark在HDFS中保存数据?

Yas*_*r S 3 hadoop hdfs apache-spark spark-streaming

我想使用 Spark Streaming 从 Kafka 检索数据。现在,我想将数据保存在远程 HDFS 中。我知道我必须使用函数 saveAsText。但是,我不知道如何准确指定路径。

如果我写这个是正确的:

myDStream.foreachRDD(frm->{
    frm.saveAsTextFile("hdfs://ip_addr:9000//home/hadoop/datanode/myNewFolder");
});
Run Code Online (Sandbox Code Playgroud)

ip_addr我的 hdfs 远程服务器的 IP 地址在哪里。 /home/hadoop/datanode/是我安装hadoop时创建的DataNode HDFS目录(不知道要不要指定这个目录)。而且, myNewFolder是我要保存数据的文件夹。

提前致谢。

亚西尔

fra*_*ijo 7

路径必须是 HDFS 中的目录。

例如,如果要将文件保存在 HDFSmyNewFolder/路径下命名的文件夹中。

使用的路径是 hdfs://namenode_ip:port/myNewFolder/

在执行 spark 作业时,myNewFolder将创建此目录。

dfs.datanode.data.dirin提供的 datanode 数据目录hdfs-site.xml 用于存储您存储在 HDFS 中的文件块,不应作为 HDFS 目录路径引用。