方法一,使用substring_index函数
select substring_index(get_json_object(data,'$.message'),"|",'-1') from table_name;
方法二,使用split函数
思路:先利用反转函数reverse,把最后一个转到第一个,就可以在split后用下标为0的数组值,然后再使用一次reverse函数进行字符串反转,实例代码如下:
这个地方需要注意的点是Spark SQL中使用split函数利用"|",竖线分隔的时候需要使用两个反斜杠转义 "\\|"
select reverse(split(reverse(get_json_object(data,'$.message')),"\\|")[0]) from table_name;