在项目中遇到使用spark中的saveAsTextFile()保存序列化后的文件到HDFS出现部分数据缺失
因此希望可以通过python脚本直接将数据写入到HDFS中,尝试hdfs库失败后,发现pywebhdfs库可以实现这一功能。
使用pywebhdfs库,直接将文件保存到HDFS中。
>>> hdfs = PyWebHdfsClient(host='host',port='50070', user_name='hdfs')
>>> my_data = '01010101010101010101010101010101'
>>> my_file = 'user/hdfs/data/myfile.txt'
>>> hdfs.append_file(my_file, my_data) #追加文件
>>> hdfs.create_file(my_file, my_data) #写入文件
文档说明:https://pythonhosted.org/pywebhdfs/