2017-10-20 32 views
0

j'avais Hadoop 2.8.1Comment mettre le fichier de l'ordinateur portable local à HDFS à distance?

hdfs-configurated site.xml

<configuration> 
# Add the following inside the configuration tag 
<property> 
     <name>dfs.data.dir</name> 
     <value>/app/dfs/name/data</value> 
     <final>true</final> 
</property> 
<property> 
     <name>dfs.name.dir</name> 
     <value>/app/dfs/name</value> 
     <final>true</final> 
</property> 
<property> 
     <name>dfs.replication</name> 
     <value>1</value> 
</property> 
<property> 
    <name>dfs.webhdfs.enabled</name> 
    <value>true</value> 
</property> 
</configuration> 

Vous ne trouvez ce code en python

from pywebhdfs.webhdfs import PyWebHdfsClient 
from pprint import pprint 

hdfs = PyWebHdfsClient(host='hadoop01',port='50070', user_name='hadoop') # your Namenode IP & username here 

my_data = "01010101010101010101010101010101000111 Example DataSet" 
my_file = '/examples/myfile.txt' 
hdfs.create_file(my_file, my_data.encode('utf-8')) 

Cette variante a travaillé. MAIS je veux mettre le fichier déjà préparé à HDFS à distance.

a essayé de écrit

with open("C:\\Downloads\\Demographic_Statistics_By_Zip_Code.csv") as file_data: 
    print(file_data) 

fichier, mais n'a pas mis à HDFS. ne revint

<_io.TextIOWrapper name='C:\\Downloads\\Demographic_Statistics_By_Zip_Code.csv' mode='r' encoding='cp1251'> 

Comment résoudre ce cas?

Répondre