Hadoop 命令在复制到 HDFS 时忽略输入文件的第一行/最后一行
Hadoop command to ignore first / last line from input file while copying into HDFS
我在 Linux 中有一个输入文件,它有一个 header。我无法修改此文件,因为只有 Read-Only 可以访问此文件。
而且我能够使用 copyFromLocal 命令成功地将此文件从 Linux 复制到 HDFS。
但是 header 不应出现在 HDFS 文件中,我无权修改 Linux 输入文件以删除 header。
在将文件从 Linux 复制到 HDFS 时,是否有任何其他方法可以跳过/忽略 header。像 copyFromLocal -1 input_file_name hdfs_file_name ?
使用 awk
和 put
将第一行删除到 HDFS:
awk 'NR != 1 {print}' file.txt | hdfs dfs -put - hdfs://nn1/user/cloudera
我在 Linux 中有一个输入文件,它有一个 header。我无法修改此文件,因为只有 Read-Only 可以访问此文件。
而且我能够使用 copyFromLocal 命令成功地将此文件从 Linux 复制到 HDFS。
但是 header 不应出现在 HDFS 文件中,我无权修改 Linux 输入文件以删除 header。
在将文件从 Linux 复制到 HDFS 时,是否有任何其他方法可以跳过/忽略 header。像 copyFromLocal -1 input_file_name hdfs_file_name ?
使用 awk
和 put
将第一行删除到 HDFS:
awk 'NR != 1 {print}' file.txt | hdfs dfs -put - hdfs://nn1/user/cloudera