win7优化工具,惠州seo网站排名,江苏省建设厅网站建筑电工证,互动网站建设文章目录 环境数据迁移需求迁移过程记录 环境
Hive集群AHive集群B跳转机一台
数据迁移需求
本次迁移数据100G#xff0c;15亿条#xff0c;数据流转方向从集群A经过跳转机到集群B#xff0c;通过HDFS拉取和重新建表导入的方式完成数据库迁移。
迁移过程记录
- 当前操作… 文章目录 环境数据迁移需求迁移过程记录 环境
Hive集群AHive集群B跳转机一台
数据迁移需求
本次迁移数据100G15亿条数据流转方向从集群A经过跳转机到集群B通过HDFS拉取和重新建表导入的方式完成数据库迁移。
迁移过程记录
- 当前操作在集群A
通过执行desc formatted查看并记录数据库的①存储位置②文件存储压缩格式③表字段对迁移的数据库执行count(*)操作记录数据量整体把握最后做校验
- 当前操作在跳转机
获取1.②位置之后通过hdfs hds -du -h命令检查原始表数据在HDFS中的存储大小确认是否能拉取到跳转机执行df -h检查跳转机可用存储空间执行hdfs dfs -get命令将存储的数据库源文件从集群A的HDFS拉取到跳转机本地执行ls | wc -l命令检查拉取的数据库源文件数量此步骤操作是为了校验文件数量如果不是压缩存储的文件比如CSV,请执行head命令查看源文件首行是否包含表字段如果包含表字段需要在建表时添加TBLPROPERTIES (skip.header.line.count1);执行hdfs dfs -put命令将数据库源文件上传至集群B的HDFS并执行hdfs hds -du -h检查存储大小是否一致请提前mkdir准备好存储目录
- 当前操作在集群B
根据1.③编辑建表语句并执行根据压缩存储格式的不同MapReduce在执行时的输入输出结果也不同
不指定格式InputFormatorg.apache.hadoop.hive.ql.io.RCFileInputFormatOutputFormatorg.apache.hadoop.hive.ql.io.RCFileOutputFormat
指定TEXTFILE格式InputFormatorg.apache.hadoop.mapred.TextInputFormatOutputFormatorg.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
本次迁移方案数据源文件为.snappy.parquet压缩存储格式新建的表为TEXTFILE格式指定了分隔符为,;
通过beeline执行LOAD DATA INPATH hdfs location into table table_name命令将HDFS中的数据源文件导入Hive表至此完成迁移若对存储格式在后续有新的需求可以在完成导入后通过创建新的附带存储格式的表再执行insert overwrite table table_name_new select * from table_name_old;命令完成Hive存储格式的转换对于数据完整性、一致性的考虑可以在完成后再次执行count*校验数据量此方法是为了避免出现因格式不同忽略CSV首行字段问题或者建表语句错误剔除了有效数据导致数据缺失的危险行为。