• spark bulkload 报错异常:Caused by: java.io.IOException: Added a key not lexically larger than previous


    ------------恢复内容开始------------

    Caused by: java.io.IOException: Added a key not lexically larger than previous. Current cell = 2c90807b73996dff0173b758788600a5,104/CF:dimension_type/1603964542276/Put/vlen=8/seqid=0, lastCell = 2c90807b73996dff0173b758788600a5,104/CF:id_list/1603964542276/Put/vlen=36/seqid=0
    at org.apache.hadoop.hbase.io.hfile.HFileWriterImpl.checkKey(HFileWriterImpl.java:245)

     1.主要原因:

    spark写hfile时候是按照rowkey+列族+列名进行排序的,因此在写入数据的时候,要做到整体有序

    ,如果某个rowkey相同的两列,前一个列名为id_lis,下一个列名为dimension_type,发现按照字典顺序d是i之前的,但是插入是i是后面来的,所以没有顺序

    解决方法:

    读取hive表时,使用shcme信息获取列名与对应的值作为map集合,对map的 key也就是列名进行排序,解决列名顺序问题

    在结合rowkey进行整体排序即可

  • 相关阅读:
    一步步实现ABAP后台导入EXCEL到数据库【1】
    CSS边框及常用样式
    CSS优先级
    CSS选择器
    label和fieldset标签
    img、列表和table标签
    a标签--超链接
    select标签和多行文本标签
    input标签
    body内常用标签
  • 原文地址:https://www.cnblogs.com/hejunhong/p/13898121.html
Copyright © 2020-2023  润新知