背景
自己在使用spark MLlib的时候,在单机下反而比分布式下更快,所以猜测是从本地读数据比较慢,所以想把数据从本地弄到hdfs上
上传数据到hdfs
- 查看hdfs 根目录/下文件,发现有两种
hadoop fs -ls /
hdfs dfs -ls / - 创建一个新的文件夹/data
Hadoop fs -mkdir /data - 上传文件到hdfs
hadoop fs -put ~/project/test.txt /data - 删除文件
hadoop fs -rm /data/xxx
程序中读hdfs中文件
python
先pip install hdfs
from hdfs.client import Client
client = Client("http://dl23:50070")
with client.read(Y_PATH) as fileY:
......
其他的都和正常文件读写一样
- 但是用spark的
sc.textFile()可像下面这样读:lines = sc.textFile("hdfs://dl23:9000/data/xxx.txt") lines.count()
结果
发现并没有变快,应该是程序问题了

本文介绍了将数据从本地上传到HDFS以提高Spark MLlib性能的过程,包括创建HDFS目录、上传文件、删除文件及在Python程序中使用Spark读取HDFS文件的方法。然而,实验结果显示速度并未提升,问题可能出在程序本身。
1682

被折叠的 条评论
为什么被折叠?



