实验参考林子雨老师的博客 http://dblab.xmu.edu.cn/blog/2636-2/
原始数据集是以.csv文件组织的,为了方便spark读取生成RDD或者DataFrame,首先将us-counties.csv转换为.txt格式文件us-counties.txt。转换操作使用python实现,代码组织在transform.py中,过程如下:
将熊猫导入为 pd
#.csv 转化成 .txt
data = pd.read_csv('/home/hadoop/us-counties.csv')
with open('/home/hadoop/us-counties.txt','a+',encoding='utf-8') as f:
对于 data.values 中的行:
f.write((str(line[0])+'\t'+str(line[1])+'\t'+str(line[2])+'\t'+str(line[3]) )+'\t'+str(line[4])+'\n'))
使用python运行文件
hadoop@zyj-virtual-machine:/usr/local/spark/mycode$ python3 transform.py
可以看到文件系统已经产生了txt文件, 转换成功
接下来要把文件放进hdfs中进行操作, 首先先启动我们的hdfs服务
hadoop@zyj-virtual-machine:/usr/local/spark/mycode$ cd /usr/local/hadoop
hadoop@zyj-virtual-machine:/usr/local/hadoop$ ./sbin/start-dfs.sh
启动情况
用jps查看
hadoop@zyj-virtual-machine:/usr/local/hadoop$ jps
启动成功, 接下来把文件放入hdfs中
hadoop@zyj-virtual-machine:/usr/local/hadoop$ ./bin/hdfs dfs -put /home/hadoop/us-counties.txt /user/hadoop