sqoop:gzip编解码器的avro失败

ebdffaop  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(400)

当尝试使用sqoop和avrodatafile和gzipcodec将表导入到hdfs时,它失败了,出现以下异常:我正在运行这个cdh7cloudera快速启动docker映像
有没有一个原因,我们不能使用gzip与avro或是一些缺失的配置,是造成这一点。
注意:gzip在没有--as avrodatafile开关的情况下可以工作

Error: org.apache.avro.AvroRuntimeException: Unrecognized codec: gzip
        at org.apache.avro.file.CodecFactory.fromString(CodecFactory.java:102)
        at org.apache.sqoop.mapreduce.AvroOutputFormat.configureDataFileWriter(AvroOutputFormat.java:63)
        at org.apache.sqoop.mapreduce.AvroOutputFormat.getRecordWriter(AvroOutputFormat.java:102)
        at org.apache.hadoop.mapred.MapTask$NewDirectOutputCollector.<init>(MapTask.java:647)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:767)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
nom7f22z

nom7f22z1#

从阿夫罗工厂

/**Maps a codec name into a CodecFactory.
   *
   * Currently there are five codecs registered by default:
   * <ul>
   *   <li>{@code null}</li>
   *   <li>{@code deflate}</li>
   *   <li>{@code snappy}</li>
   *   <li>{@code bzip2}</li>
   *   <li>{@code xz}</li>
   * </ul>
   */

所以gzip支持sqoop中的其他输出格式,但不支持avro。

相关问题