【问题标题】:Skip.footer.line.count not working for files greater than 256MBSkip.footer.line.count 不适用于大于 256MB 的文件
【发布时间】:2019-08-20 13:45:03
【问题描述】:

我有多个固定宽度的平面文件。文件记录计数来自以“!”为前缀的预告片记录

我将此数据存储在 hive 暂存表中,这些暂存表采用文本文件格式,并使用skip.footer.line.count 跳过预告片记录,给出为1

暂存表只有 1 个名为 data_table_name 的列,来自各个平面文件的整个记录​​都存储在此处。

目标表采用 parquet 格式,并使用暂存表中的 data_table_name 列的子字符串填充到目标表的多个列中。

只要文件大小超过 256 MB,跳过预告片就不能正常工作,而是跳过文件中间的一条记录。

我在下面的链接中发现了相同的问题,但不知道解决方案是什么。有人可以建议如何解决它。

https://issues.apache.org/jira/plugins/servlet/mobile#issue/HIVE-15359

【问题讨论】:

    标签: hive


    【解决方案1】:
    1. 使用where data_table_name !='data_table_name'过滤表

    2. 试试set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;

    【讨论】:

    • 是的,这是我想到的过滤表格的解决方法。但是我可以完全避免它吗?
    • @SurbhiJain 是否使用 HiveInputFormat 重现?
    • 是的,即使使用给定的配置单元格式,它也会重现
    猜你喜欢
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    相关资源
    最近更新 更多