hive tricks

(原创)

hive的一些tricks:

  •  处理数据内含分号的 ; ,用 '\073' 代替
  • hive 9146 bug(新版本已修复),关联条件的顺序不一样:

           ... on (A) and (B)  和 ... on (B) and (A)  竟然导致不一样的结果,

           详情见 https://issues.apache.org/jira/browse/HIVE-9146 。

  • hive 取默认字段 `_c1`
  • hive正则转义 \用两个,如 \\d
  • mapjoin优化,用于关联时有小表,小表放到内存里,select /*+ MAPJOIN(small_tb)  */  ... 
  • hive可以调用python的脚本,方法是:

         add file /path_of_python_file/py_file.py;

         select transform(col1,col2,col3...) using 'python py_file.py' as (out1,out2,out3...) from table;
         transform 的参数col1,col2,col3... 作为python脚本的输入,而out1,out2,out3...作为输出字段。

         利用这个可以把hive自身所带的函数不能或不方便处理的任务,转用python写。

原文地址:https://www.cnblogs.com/randomstring/p/15707303.html