如何将hive表文本格式的源文件迁移至Oracle数据库或者excel文档中
需求描述:从hadoop的hdfs中下载某hive表文本文件,并将该文件数据迁移至Oracle表中。
思路剖析:首先,我们需要从hadoop服务器中下载该文本文件;其次,将该文件处理为excel规范表;最后,将规范的excel表结构插入值Oracle数据库对应的表中。话休絮烦,直接上demo。
1,从hadoop服务器的hdfs中下载源数据文本文件:
[html]view plaincopy
hadoop fs -get hdfs://nameservice/user/hive/house/r_map_region /data/ailk/aiinsight/bin/xiepj
上述命令将hdfs中 nameservice/user/hive/house/r_map_region 路径下的源数据文本文件下载至 本地 /data/ailk/aiinsight/bin/xiepj 路径下
2,源数据加工
我们知道hive中表结构是保存在txt文件中,其中字段间的间隔符可以由用户指定。当我们拿到hdfs中的文本格式的源文件时,表结构往往不太清晰,不利于我们做一些加工处理,我们往往希望将其转换为excel表格的形式来对其处理。如下图所示:
将源数据中的分隔符替换为tab键:
3,替换后结果粘贴至excel表中,至此完成。
替换后文本效果:
excel格式效果;
总结:excel中遇到tab键,数据会自动换至下一列。此处正式利用了excel的这一特性。