042 將數據導入hive,將數據從hive導出


一:將數據導入hive(六種方式)

1.從本地導入

  load data local inpath 'file_path' into table tbname;

  用於一般的場景。

  

 

2.從hdfs上導入數據

  load data inpath ‘hafd_file_path’ into table tbname;

  應用場景:使用與大數據的存儲

 

3.load方式的覆蓋

  load data local inpath 'file_path' overwrite into table tbname;

  應用場景:用於臨時表。

   

 

4.子查詢方式

  應用場景:對於數據查詢的結構的保存。

  create  table tb2 as select * from tb1;

  

 

5.insert into 

  應用場景:和上面的應用場景相同,因為后面接的都是select查詢。

  不需要as,直接后接入select。

  insert into table tb2 select q1;

  

 

6.location

  這種情況適用於前面說的外部表,或者管理表中對於表數據的指定。

  然后put就好。

  我想,前提是需要先建一個表。

  

  

  在HDFS上看效果

  

 

 

二:將數據從hive里導出(四種方式)

1.insert方式

  1)保存到本地

    語句:insert overwrite local directory 'path' select q1;

    

    效果:但是效果不好,沒有分隔符

    

    改造:insert overwrite local directory 'path'  row format delimited  fields terminated by '\t' select q1;

    

     效果:

    

 

  2)保存到HDFS上

   insert overwrite directory 'hdfs_path' select * from dept;

   注意點:hdfs_path必須存在,這個說的是多級目錄,但是最后一級的目錄是自動生成的。

 

2.bin/hdfs -get

   與put一樣,屬於HDFS的基本操作。

   dfs -get .............

 

3.linux命令行執行HQL

  使用 -e

  使用 -f

  然后重定向到指定的文件。

 

4.sqoop協作框架。

  后面將會有關於sqoop的專門篇章。

  HDFS與關系型數據庫之間的數據導入與到出。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM