hadoop删除输入文件中不必要的\n

6yjfywim  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(290)

我有一个大的输入文件,值是用管道分隔的。一行有20个值。在第19个管道之后,如果出现新行字符,则为记录。
但是我的输入文件不仅在19个管道之后\n而且在其他值中。采样线看起来像这样。。。
101101 |这是我的样本| 12547 |样本\nxyz |……(第19管道)|记录结束\n
我是hadoop新手,不知道如何根据这个条件划分行来创建键值对。
另一个相关的问题是,输入拆分发生在客户端,如果我必须在客户端(一台机器)有条件地拆分输入文件,那么考虑到大文件,速度会不会很慢?请帮忙。

puruo6ea

puruo6ea1#

在配置单元中,空列值表示为“\n”,这是配置单元的默认行为。这样做是为了区分null和“null”(字符串null)。
如果您不想\n出现在导出中,可以使用合并自定义项。
您的查询大致如下所示

SELECT
   COALESCE (my_column, '') AS my_column
FROM
   my_table

相关问题