創建HIVE表命令的運行

創建hive表:
 CREATE EXTERNAL TABLE my_table(  
      id int,  
    ...  
    )  
    PARTITIONED BY (  
      dt string)  
    ROW FORMAT DELIMITED  
      FIELDS TERMINATED BY '\001'  
      LINES TERMINATED BY '\n'  
    STORED AS textfile; <span style="font-size:14px;">中</span>
中
     FIELDS TERMINATED BY '\001'  
     LINES TERMINATED BY '\n' 

的設置,但是如果直接寫\u0001, hive某些版本會變成u0001要小心hive的bug,如果用\001, hive會友好的轉換成\u0001,( 詳細介紹請參考: http://blog.csdn.net/csfreebird/article/details/29208987)

在終端運行時, hive -e 不執行,經過測試,把建表語句寫入一個.txt文件中然後執行 hive -f  **.txt ,建表成功。

   (set 'cmd (append "use test;" cr_sql))
   (set 'file-table-name (append mysql-table ".txt"))
   (println file-table-name)
   (if (file? file-table-name)
       (exec (append "rm " file-table-name))
   )
   (set 'handle (open file-table-name "write"))
   (write handle cmd)
   (println  (exec (append "hive -f " file-table-name)))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章