gpt4 book ai didi

hadoop - 仅将文件名检索到配置单元中的表中

转载 作者:可可西里 更新时间:2023-11-01 16:24:55 26 4
gpt4 key购买 nike

我需要从 linux 路径中检索 filename.txt 并将文件名插入到配置单元中的表列中。是否可以仅从路径中检索文件名并使用虚拟列将其插入到配置单元表中?请指教!

例如路径/home/usr/path/filename.txt 并将文件名插入表中。创建表 t(名称字符串);

谢谢!

最佳答案

如果你想针对 HDFS 运行 - 命令 - awk -F "/"'{print $NF}' 你只需要文件名。

[cloudera@quickstart ~]$ hadoop fs -ls /user/cloudera/departments|awk -F "/" '{print $NF}'|egrep -v 'Found|_SUCCESS'
part-m-00000
part-m-00001
[cloudera@quickstart ~]$

如果你想针对本地文件系统运行 - 命令 - ls -1 将为你提供文件名。你也可以使用 awk -F "/"'{print $NF}'

您可以创建 shell 脚本:(取消注释 hive 语句)

#!/bin/sh

files=`hadoop fs -ls /user/cloudera/departments|awk -F "/" '{print $NF}'|egrep -v 'Found|_SUCCESS'`

for file in $files
do
#hive -e "insert into table t(name) values (\"$file\");"
echo "insert into table t(name) values (\"$file\");"
done

应该插入到 hive 表中:

[cloudera@quickstart ~]$ ./test.sh 
insert into table t(name) values ("part-m-00000");
insert into table t(name) values ("part-m-00001");

关于hadoop - 仅将文件名检索到配置单元中的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38575669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com