Hive 配置单元-比较两个字符串列

Hive 配置单元-比较两个字符串列,hive,hiveql,Hive,Hiveql,我在表a的a列(sourcestring)中有一个自由样式文本。我正在尝试用表B的B列(子字符串)中的每个值来解析a列。以查看B列中的任何子字符串是否存在于a列中。如果存在子字符串,则我希望相应的C列(类别)作为结果 我可以通过下面的case语句在较小的数据集上实现它,但是我有子字符串和类别列表。我该怎么做呢 SELECT A.sourcestring, A.primarykey, B.substring, B.category, CASE WHEN lowe

我在表a的a列(sourcestring)中有一个自由样式文本。我正在尝试用表B的B列(子字符串)中的每个值来解析a列。以查看B列中的任何子字符串是否存在于a列中。如果存在子字符串,则我希望相应的C列(类别)作为结果

我可以通过下面的case语句在较小的数据集上实现它,但是我有子字符串和类别列表。我该怎么做呢

SELECT A.sourcestring, A.primarykey, B.substring, B.category, 
       CASE
          WHEN lower(sourcestring) IS NULL THEN NULL
          WHEN lower(sourcestring) RLIKE '%blister|burn|fire|grill|hot|lighter|oven|scald|scorch|stove|torch|welder%'
          THEN 'burn '
          ELSE 'other' 
        END 
表A

sourcestring         
"i am here"    
"he is here"             
表B

substring | category
"here"    | "present"  
"not"     | "not present"
"mad"     | "not related"
我希望生成的表是

表c

sourcestring    resultcategory     
"i am here"     "present"         
"he is here"    "present"