从本地上传文件到hdfs,并在程序中读区

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

背景

自己在使用spark MLlib的时候,在单机下反而比分布式下更快,所以猜测是从本地读数据比较慢,所以想把数据从本地弄到hdfs上

上传数据到hdfs

  1. 查看hdfs 根目录/下文件,发现有两种
    hadoop fs -ls /
    hdfs dfs -ls /
  2. 创建一个新的文件夹/data
    Hadoop fs -mkdir /data
  3. 上传文件到hdfs
    hadoop fs -put ~/project/test.txt /data
  4. 删除文件
    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()
    

结果

发现并没有变快,应该是程序问题了
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值