我有一个python脚本,可以为我要导入Hive的目录中的文件生成模式,删除表和加载表命令。然后我可以在Ambari中运行这些来导入文件。可以执行多个“创建表”命令,但是当上载文件以导入其各自的Hive表时,我一次只能上载一个文件。
是否有办法将这些命令放在一个文件中并一次执行所有这些命令,以便创建所有表并随后将相关文件上传到各自的表中?
我还尝试将文件导入HDFS,然后使用'hdfs dfs -copyFromLocal / home / ixroot / Documents / ImportToHDFS / hadoop / hdfs'命令通过Linux将它们发送到Hive,但是错误如'不这样目录'关于'hadoop / hdfs'的问题。我尝试使用chmod更改权限,但这些似乎也没有效果。
如果有人能告诉我哪种方法可以更好地将多个文件导入到Hive中各自的表中,我将非常感激。
答案 0 :(得分:0)
1)是否有办法将这些命令放在一个文件中并一次执行所有这些命令,以便创建所有表并随后将相关文件上传到各自的表中?
您可以在.hql文件中提供所有查询,例如test.hql并运行hive -f test.hql
以一次执行所有命令
2)'no such directory'等错误
提供hadoop fs -mkdir -p /hadoop/hdfs
,然后输入hadoop fs -copyFromLocal /home/ixroot/Documents/ImportToHDFS /hadoop/hdfs
修改:获取权限
hadoop fs -chmod -R 777 / user / ixroot