如何将文件从本地服务器位置移动到 hdfs?



我的服务器上有一个文件

/user/data/abc.csv

我需要在文件中的此数据之上创建一个 Hive 表。所以我需要将此文件移动到hdfs位置

/user/hive/warehouse/xyz.db

我们如何使用python做到这一点?

首先,您需要从服务器检索文件。使用此 pyhton 代码将其检索到本地计算机。

import ftplib
path = '/user/data/'
filename = 'abc.csv'
ftp = ftplib.FTP("Server IP") 
ftp.login("UserName", "Password") 
ftp.cwd(path)
ftp.retrbinary("RETR " + filename ,open(filename, 'wb').write) #Download the file from server to local on same path.
ftp.quit()

一旦文件下载到本地,然后执行通常的hive查询以从本地加载数据或将数据放入HDFS然后加载到hive。

将数据直接从本地加载到配置单元:

LOAD DATA local INPATH '/user/data/abc.csv' into table <table name>; 

将数据加载到 HDFS:

hadoop fs -copyFromLocal ~/user/data/abc.csv /your/hdfs/path

然后使用 Hive 查询将其加载到 Hive。

LOAD DATA INPATH '/your/hdfs/path' into table <table name>;

Hadoop fs -put 命令可用于将文件从本地文件系统放入 HDFS。

相关内容

  • 没有找到相关文章

最新更新