企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
下面的任意数据导出方式的行为是复制,所以导出后Hive表中的数据还是存在的。 <br/> **1. `insert`方式导出** (1)`directory '/opt/datas/export/student'` 只能指定到目录,不能指定导出到具体的文件; (2)导出的是Hive表实际对应的hdfs文件; (3)`/opt/datas/export/student` 目录如果不存在,Hive会在本地自动创建; ```sql -- 将查询的结果导出到本地 insert overwrite local directory '/opt/datas/export/student' select * from student; -- 将查询的结果格式化后导出到本地 insert overwrite local directory '/opt/datas/export/student1' row format delimited fields terminated by '\t' collection items terminated by '\n' select * from student; -- 将查询的结果导出到 hdfs 上,不写 local 则是导入到hdfs insert overwrite directory '/user/hive/warehouse/student2' row format delimited fields terminated by '\t' collection items terminated by '\n' select * from student; ``` **2. hdfs命令导出到本地** ```sql hive (default)> dfs -get /user/hive/warehouse/student/month=201709/000000_0 /opt/datas/export/student3.txt; ``` **3. Hive Shell 命令导出** ```shell -- 将hive表的数据导出到本地的student.txt文件中 [root@hadoop101 /]# hive -e 'select * from table_name' > student.txt -- 执行student.sql里面的导出语句 [root@hadoop101 /]# hive -f 'student.sql` ``` **4. export导出到HDFS上** ```shell -- 将Hive表的数据导出到HDFS的/home/hadoop/目录下 hive (default)> export table table_name to '/home/hadoop/'; hive (default)> export table table_namepartition (year=2018, month=9) to '/home/hadoop/'; ```