FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

本文描述了在处理字符串时遇到的问题,包括如何解析iid、去除特殊字符和空格,以及在使用Hive的regexp_replace函数时需要注意的转义操作,避免Execution Error。通过提供解决方案和参考资料,帮助读者解决类似错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 问题描述
    现在要将以下字符串中的每个iid解析出来
[ nt6u5iystv32ne2 ; 1hnc62lteegcjhu ; 9124fswltwxsc48 ; 8tkjl4n622ft97f ; 1tuxop0iyhlmmz5 ; uiq0rxuywu508qr ; 0lyo1h8np3w3trk ; e7hi6lep1yc51ca ; 4pyadnvmlz56qhp ; m2lbjjlfidqc8iu ]
  • 问题分析

    • 首先需要去除’[‘和’]’
    • 然后去除多余的空格
    • 最后按照’;’split一下就可以了
  • 运行代码(假定记录在tag_model.temptemp_test_x表)

select split(regexp_replace(iids, '[\\[\\]\\s]', ''), '\073') from from tag_model.temptemp_test_x limit 1;
  • 运行结果


    这里写图片描述

  • 注意问题
    如果在使用regexp_replace(str, reg, rep)函数的时候,若没有进行转义操作(即,在对应字符前加’\’字符),则会报错,详细如下代码:


hive> select split(regexp_replace(iids, '[]', ''), '\073') from tag_model.temptemp_test_x limit 1;
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
[GC 27106K->10124K(83008K), 0.0020190 secs]
[GC 27117K->10108K(83008K), 0.0026310 secs]
Starting Job = job_201612260917_53446, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值