将数据加载到 hadoop hdfs 中

第 1 步:在 HDFS 中创建目录,上传文件和列表内容

让我们通过编写语法来学习。你将能够将以下示例命令复制并粘贴到终端中:

hadoop fs -mkdir:

将路径 URI 作为参数并创建目录或多个目录。

用法:

    # hadoop fs -mkdir <paths>

例:

    hadoop fs -mkdir /user/hadoop
    hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2 /user/hadoop/dir3

hadoop fs -put:

将单个 src 文件或多个 src 文件从本地文件系统复制到 Hadoop 分布式文件系统。

用法:

    # hadoop fs -put <local-src> ... <HDFS_dest_path>

例:

    hadoop fs -put popularNames.txt /user/hadoop/dir1/popularNames.txt

hadoop fs -copyFromLocal:

将单个 src 文件或多个 src 文件从本地文件系统复制到 Hadoop 分布式文件系统。

用法:

    # hadoop fs -copyFromLocal <local-src> ... <HDFS_dest_path>

例:

    hadoop fs -copyFromLocal popularNames.txt /user/hadoop/dir1/popularNames.txt

hadoop fs -moveFromLocal:

与 put 命令类似,只是在复制后删除了源 localsrc。

用法:

    # hadoop fs -moveFromLocal <local-src> ... <HDFS_dest_path>

例:

    hadoop fs -moveFromLocal popularNames.txt /user/hadoop/dir1/popularNames.txt

SQOOP 数据传输工具:

我们还可以使用 Sqoop(用于从 RDBMS 到 HDFS 的数据传输的命令行工具,反之亦然)直接从关系数据库将数据加载到 HDFS 中。

用法:

$ sqoop import --connect CONNECTION_STRING --username USER_NAME --table TABLE_NAME

例:

$ sqoop import --connect jdbc:mysql://localhost/db --username foo --table TEST