hive에서 json 컬럼에 대해서 json 쿼리를 진행할 수 있다.
hive> select * from googleplus_log where date_id='2037-08-23' and label='birthday' and get_json_object(props, '$.id')='11935385';
json_tuple도 사용할 수 있지만, lateral view도 써야 하고 parittion table이라면 strict 모드로 바꾸라 한다.
hive> select log.date_id, b.* from googleplus_log log lateral view json_tuple(log.props, 'result', 'birth', 'id', 'action') b where date_id='2017-02-23' and label='birthday';
This happens cos the hive is set to strict mode. this allow the partition table to access the respective partition /folder in hdfs .
hive> set hive.mapred.mode=unstrict;
hive> select log.date_id, b.* from googleplus_log log lateral view json_tuple(log.props, 'result', 'birth', 'id', 'action') b where date_id='2017-02-23' and label='birthday';
##잘 동작한다.