hive sql 中换行字符的替换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive sql 中换行字符的替换相关的知识,希望对你有一定的参考价值。
参考技术A ···CREATE TABLE IF NOT EXISTS test_wl7 as SELECT hive_query_id,
jobid,
TYPE,
task_count,
start_time,
finish_time,
max_task,
pre_task,
yarnuser,
regexp_replace(hive_query_string,
'\n|\r',
' ') hive_query_string,
update_user,
etl_tx_dt
FROM dev_test_dc.mapred_job_history_skew
WHERE etl_tx_dt=20190730 ;
···
采集的用户sql,分析后通过sqoop将hive(表的格式是textfile)导入到mysql中。因为sql中存在换行符。需要替换。注意是\n|\r.有个\r..
Java:可以在属性文件中换行吗?
【中文标题】Java:可以在属性文件中换行吗?【英文标题】:Java: possible to line break in a properties file? 【发布时间】:2011-07-31 09:00:44 【问题描述】:是否可以在 Java 属性文件的下一行继续长字符串?
例如,不知何故
myStr=Hello
World
当我收到getProperty("myStr")
时,它会返回“Hello World”?
【问题讨论】:
实际上,在 '\' 之后 MUST NOT NOT is nothing 甚至不能是空格,这非常重要! 【参考方案1】:myStr = Hello \
World
反斜杠告诉应用程序继续将值读取到下一行。 ^^
【讨论】:
【参考方案2】:行尾的反斜杠可让您跨越多行,并且忽略行首的空格:
myStr = Hello \
World
注意:反斜杠必须在行尾;它必须是最后一个字符,后面不能有空格等。
Java docs 是这样说的:
逻辑行包含键元素对的所有数据,通过使用反斜杠字符
\
转义行终止符序列,可以将其分布在多个相邻的自然行中。...
如果逻辑行分布在多条自然行中,则转义行终止符序列的反斜杠、行终止符序列以及下一行开头的任何空白对键或元素值没有影响。
【讨论】:
【参考方案3】:您需要使用\n\
作为解决方案。
前两个符号 \n
- 字符串换行,第三个 \
- 属性文件中的多行。
例如(在 application.properties 中):
mail.bodyText=Hello.\n\
This is notification.
【讨论】:
没有要求换行。以上是关于hive sql 中换行字符的替换的主要内容,如果未能解决你的问题,请参考以下文章