【问题标题】:How put file from local laptop to remote HDFS?如何将文件从本地笔记本电脑放到远程 HDFS?
【发布时间】:2017-10-20 18:41:23
【问题描述】:

我有 Hadoop 2.8.1

配置hdfs-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>

确实是通过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'))

此变体有效。 但是我想把已经准备好的文件放到远程 HDFS。

试着写

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

BUT 文件未 PUT 到 HDFS。 只返回了

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

如何解决这个案子?

【问题讨论】:

    标签: python hadoop hdfs


    【解决方案1】:

    使用 hdfs cli 怎么样? 请参考此链接中的 copyFromLocal 或 put 命令:

    https://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/FileSystemShell.html

    【讨论】:

      猜你喜欢
      • 2016-02-25
      • 1970-01-01
      • 2014-11-25
      • 2022-07-27
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      相关资源
      最近更新 更多