通过Beeline连接Hive,使用INSERTOVERWRITETABLE将表数据导出为指定格式本地文件,实现单表备份。注意调整分隔符等参数。多表或全库备份需借助distcp或Sqoop。
beeline -u "jdbc:hive2://your_hive_server_address:10000/your_database_name" -n your_username -p your_password
把 your_hive_server_address、your_database_name、your_username 和 your_password 替换成实际的值。连接成功后,你会看到 Hive Beeline 的提示符,这下就可以开始操作了。
SELECT 语句先查一遍数据,再用 INSERT [OVERWRITE] TABLE 把结果写到本地文件或远程文件系统。举个例子,要把 my_table 这张表的数据备份到本地 my_table_backup.csv,可以这样操作:
-- 查询表数据
SELECT * FROM my_table;
-- 将数据插入到本地文件
INSERT [OVERWRITE] TABLE my_table_backup
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
SELECT * FROM my_table;
执行后,会新建一个叫 my_table_backup 的表,并把原表数据填进去。数据会以 CSV 格式存在本地 my_table_backup.csv 文件里。
ROW FORMAT、FIELDS TERMINATED BY 和 STORED AS 子句要根据你的数据格式灵活调整。比如数据是用制表符分隔的,那把 FIELDS TERMINATED BY 改成 '\t' 就行。
备份完成后,用文本编辑器或者其他数据处理工具打开文件,就能查看和分析结果了。
distcp 或者 Apache Sqoop。根据实际情况选对工具,才能让备份这件事真正靠谱。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述