我在一個可能包含製表符'\t'
的配置單元列表中有一個字符串列description
,但是這些字符在將配置單元連接到外部應用程序時混淆了某些視圖。 有沒有一種簡單的方法來擺脫該列中的所有制表符?我可以運行一個簡單的Python程序來做到這一點,但我想找到一個更好的解決方案。如何替換蜂巢中的字符?
16
A
回答
32
regexp_replace
UDF執行我的任務。以下是apache Wiki的定義和用法。
regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT):
這將返回從INITIAL_STRING
匹配PATTERN
與REPLACEMENT
實例定義的Java正則表達式語法替換所有子生成字符串,
如:regexp_replace("foobar", "oo|ar", "")
回報fb
0
目前沒有OOTB功能允許這樣做。實現這一目標的一種方法可能是編寫一個自定義的InputFormat和/或SerDe來爲您做這件事。您可能會對JIRA有用:https://issues.apache.org/jira/browse/HIVE-3751。 (不直接關係到你的問題)。
7
Custom SerDe可能是一種方法。或者你可以使用某種形式的調解程序與regex_replace:
create table tableB as
select
columnA
regexp_replace(description, '\\t', '') as description
from tableA
;
2
你也可以使用翻譯()。如果第三個參數太短,則刪除第二個參數中的相應字符。與regexp_replace()不同,你不需要擔心特殊字符。 Source code。
相關問題
- 1. 字符串轉換爲在蜂巢
- 2. 蜂巢結構來字符串轉換
- 3. 轉換字符串「ddMMMyyyy」在蜂巢
- 4. 蜂巢轉換
- 5. 蜂巢表字段由'¬'分隔蜂巢不接受此字符
- 6. 替代蜂巢加入
- 7. 如何在蜂巢
- 8. 如何在蜂巢
- 9. 如何在蜂巢
- 10. 如何在蜂巢
- 11. 索恩字符分隔符不蜂巢
- 12. 如何ANSI轉換爲UTF8在蜂巢
- 13. 錯誤在轉換timstamp蜂巢的蜂巢
- 14. 如何將字符串日期轉換爲蜂巢中的大int值
- 15. 我們如何將字符串轉換爲蜂巢中的數組?
- 16. 如何刪除分隔符在蜂巢
- 17. 蜂巢時間轉換
- 18. 蜂巢:計數在一個字符串
- 19. 蜂巢:加入到字符串列
- 20. 如何使用蜂巢
- 21. 蜂巢 - 如何與數據
- 22. 如何獲得在蜂巢
- 23. 如何設置在蜂巢
- 24. 如何提取蜂巢
- 25. 如何使用蜂巢
- 26. 如何刪除特殊字符後的值在蜂巢
- 27. 如何正常化蜂巢中的列?
- 28. 如何合併蜂巢中的2列?
- 29. 無法字符串轉換日期unix時間戳在蜂巢
- 30. 蜂巢字母排序
這應該是REGEXP_REPLACE不regex_replace,似乎到目前爲止是工作 – user1745713