ycvodzf 发表于 2018-11-1 13:27:56

hive2solr multivalue功能实现

@Override  
    public void write(Writable w) throws IOException {
  
            MapWritable map = (MapWritable ) w;
  
            SolrInputDocument doc = new SolrInputDocument();
  
            for (final Map.Entry entry : map.entrySet()) {
  
                  String key = entry.getKey().toString();
  
                  String value = entry.getValue().toString();
  
                  String[] sl = value.split( "\\s+");//即把hive输入的数据通过空格分隔,切成数组(hive的sql只要concact即可)
  
                  List valuesl = java.util.Arrays.asList(sl);
  
                  log.info("add entry value lists:" + valuesl);
  
                  for(String vl :valuesl){
  
                            doc.addField(key,vl); //改为调用addFiled的方法,防止覆盖
  
                  }
  
            }
  
            table.save(doc);
  
    }


页: [1]
查看完整版本: hive2solr multivalue功能实现