我有一个在加载时将所有空白值转换为NULL的要求,并且所有目标表都按照要求是实木复合地板。 但是我无法将这些值转换为NULL。
我正在处理非常大的数据,例如500GB或某些表在TB中。 我已经尝试过“'serialization.null.format'=''”,但是它不起作用。 而且我也尝试过case和if语句,以在数据laod阶段中转换这些值。此方法有效,但是由于数据量大,花费了很多时间。 有什么更好的解决方案,可以实现将Blank转换为NULL?
答案 0 :(得分:0)
我认为,案例条件可以在这方面为您提供帮助。
case when $column<>'' then $column else NULL
如果您要从原始格式(例如JSON)中获取此数据,则需要比从ORC文件中获取更多的时间
答案 1 :(得分:0)
请仔细遵循下一个link,它将直接起作用,而无需进行大小写转换。
简短地说:在使用“ serialization.null.format”之前,您需要在Cloudera上设置一个选项。