flink 读hive报这个,有那位大佬遇到过?[阿里云实时计算 Flink版]

flink 读hive报这个,有那位大佬遇到过?

Caused by: java.lang.NullPointerException at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl$StringDictionaryTreeReader.startStripe(RecordReaderImpl.java:1560) at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl$StringTreeReader.startStripe(RecordReaderImpl.java:1332) at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl$StructTreeReader.startStripe(RecordReaderImpl.java:1912) at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.readStripe(RecordReaderImpl.java:2662) at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.advanceStripe(RecordReaderImpl.java:3081) at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.advanceToNextRow(RecordReaderImpl.java:3123) at org.apache.hadoop.hive.ql.io.orc.RecordReaderImpl.(RecordReaderImpl.java:289) at org.apache.hadoop.hive.ql.io.orc.ReaderImpl.rowsOptions(ReaderImpl.java:534) at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.createReaderFromFile(OrcInputFormat.java:225) at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat$OrcRecordReader.(OrcInputFormat.java:157)

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
4 条回复 A 作者 M 管理员
  1. 这个异常是在读取Hive中ORC格式数据时出现的。可能是因为数据文件中有损坏或丢失的数据导致的。你可以尝试以下几种方法来解决这个问题:

    1.检查数据文件是否存在损坏或丢失的数据。可以使用Hive命令行工具或Hadoop命令行工具来检查数据文件。

    2.尝试使用其他方式读取数据。例如,你可以使用Hive的文本格式或Parquet格式来存储数据,并使用Flink读取。

    3.升级Hive版本。如果你使用的是旧版本的Hive,可能存在一些已知的问题。尝试升级到最新版本的Hive,看看是否能解决问题。

    4.检查Flink的配置是否正确。如果Flink的配置不正确,可能会导致无法正确读取数据。请确保Flink的配置正确,并且与Hive和Hadoop的配置相匹配。

    希望以上方法能够帮助你解决问题。

  2. 这个错误可能是由于读取Hive数据时,Flink无法正确解析ORC格式的数据,导致出现空指针异常。您可以尝试以下方法解决这个问题:

    检查ORC文件格式:首先,您需要检查您的Hive表中存储的数据是否为ORC格式。如果不是ORC格式,您需要将其转换为ORC格式后再进行读取。检查Flink版本:如果您使用的是较老的Flink版本,可能会存在ORC格式的兼容性问题。您可以尝试升级到最新的Flink版本,以解决这个问题。检查Hadoop版本:Flink依赖于Hadoop的相关组件来读取Hive数据。如果您的Hadoop版本过低,可能会导致Flink无法正确读取ORC格式的数据。您可以尝试升级到最新的Hadoop版本,以解决这个问题。检查ORC文件中的数据类型:如果ORC文件中的数据类型与Flink中定义的数据类型不匹配,也可能会导致读取数据时出现空指针异常。您可以检查ORC文件中的数据类型,并将其与Flink中定义的数据类型进行匹配。检查Flink代码:如果以上方法都无法解决问题,您可以检查Flink代码,查看是否存在其他问题。您可以尝试打印日志,以便更好地定位问题所在。

  3. 我感觉是是由于 Hive 查询引擎与 Flink 运行时之间的兼容性问题导致的。

  4. 少ORC的包依赖,在flink的lib上加下orc-shims相关的jar。

    此答案来自钉钉群“【2】Apache Flink China 社区”

  5. 空指针异常