dim_id是存储在HDFS上的一个数据维表,因为要修改数据,因此需要在堡垒机上直接修改文件。
过程稍微麻烦一些,以下是其记录:
1、 hive进入,查找表所在位置 show create table dim. dim _id; 文件夹地址为 hdfs://…/ dim _id
2、 显示文件 dfs –ls hdfs://…/ dim _id; 得到文件地址 hdfs://…/ dim _id/000000_0
3、 hive退出,exit;
4、 终端下载文件 hadoop fs –get hdfs://…/000000_0
5、 堡垒机下载文件 sz 000000_0,选文件位置
6、 使用notepad编辑文件,要注意使用 视图,显示符号,显示所有字符,防止编辑中出现问题
7、 编辑完成后,保存文件
8、 删除终端本地文件,rm 000000_0
9、 删除HDFS上文件 hadoop fs –get hdfs://…/000000_0
10、 使用堡垒机上传新文件, rz 选择文件
11、 上传新文件至HDFS hadoop fs –put 000000_0 hdfs://…/000000_0
12、 删除终端本地文件,rm 000000_0
13、 hive进去,查看表文件 select * from dim. dim_jd_analytics_site_id;
注意事项:上传文件之前必须先删除原来的文件,否则会失败
5至10步可以替换为使用vi编辑器修改文件。
需要使用的语句
1、 hive语句,show create table XXX;select * from XXX;
2、 hadoop语句,终端下
hadoop fs -get path/file 下载文件
hadoop fs -rm patn/file 删除文件
hadoop fs –put new_file path/file_name 上传文件
3、 Xshell终端语句,终端环境下
sz path/file_name 下载文件
rm path/file_name 删除文件
rz path/file_name 上传文件
关于hadoop的fs语句:
高度类似Linux文件系统命令集,写法是 hadoop fs [genericOptions]
其中<path>的完整格式是hdfs://NameNodeIP:port/ 或者是/user/你的用户名