从蜂巢导入数据到

  

大数据方兴未艾,蜂巢在业界,是大数据的标配了。因此蜂巢数据添加到ES的应用场景还是比较常见的。
学习ES官方的es-hadoop,有从蜂巢导数据到。实验可行。
蜂巢的版本:hive-1.1.0-cdh6.9.0

  

具体的步骤如下:
step1将elasticsearch-hadoop-hive-version.jar添加到蜂巢

  
 <代码> wget https://artifacts.elastic.co/downloads/elasticsearch-hadoop/elasticsearch-hadoop-6.3.0.zip
  解压缩elasticsearch-hadoop-6.3.0.zip
  hdfs dfs mkdir/user/测试/es_hadoop/hdfs dfs——elasticsearch-hadoop-hive-6.3.0一边。jar/user/测试/es_hadoop/添加JAR hdfs://测试/user/测试/es_hadoop/elasticsearch-hadoop-hive-6.3.0.jar;  
  

步骤2创建蜂巢表:

  
 <代码>创建外部表elastic_table (
  uuid字符串,
  key1 int,
  key2 int,
  天的字符串
  )
  存储在“org.elasticsearch.hadoop.hive.EsStorageHandler”
  TBLPROPERTIES (“es.resource”=八饕?类型”,
  “es.nodes”=皊erverIP:端口”,
  “es.index.auto.create”=罢媸怠?
  “es.mapping。id '=' uuid '
  );
   
  

step3添加数据

  
 <代码>插入表elastc_table覆盖
  选择uuid、key1 key2,天从源年代; 
  

为了避免客户端版本的问题,es-hadoop使用西文的restful接口导入数据,该接口使用的是Http协议。

  

通常使用,首当其冲的问题就是:如何快速将海量数据导入ES ?由于西文的数据需要建立倒排索引,所以导入数据到ES的瓶颈往往在ES这里。

  

本文记录了将蜂巢表的数据导入ES的方法。这里背后隐藏了mapreduce,即集群的威力。这里有个系列博客,讲述如何最大限度的挖掘ES索引数据的性能,立足点是ES。

  
 <代码> https://qbox.io/blog/series/how-to-maximize-elasticsearch-indexing-performance  
  

作者总结有3点:

  
      <李>   

    根据应用场景创建映射,去除不必要的字段,如<代码> _all ,<代码> _source> 这里是从应用场景下的手,以避免存储不必要的信息来提升索引数据的性能。

      李   <李>   

    修改es/lucene默认的设置,比如
    <代码> refresh_interval ,
    <代码>索引。number_of_replicas ,
    <代码> index.merge.scheduler.max_thread_count ,
    <代码> index.translog.interval ,
    <代码> indices.memory.index_buffer_size
    <代码>索引。index_concurrency
    等参数。这里是从集群的角度进行调优,通常用于大批量导入数据到ES。

      李   <李>如果前面两种还是没能解决问题,那就需要对集群进行横向扩展了,比如增加集群的分片数量。
    集群大了后,各个结点的功能就需要单一化,专注化了。   
  

比如节点只承担数据相关的任务。

  
 <代码>节点。师父:假
  节点。数据:真正的
  节点。摄入:假 
  

大部分api的批量值需要实验,找到最佳参数。建议散装的大小在5 ~ 10 m。

  

使用SSD硬盘。索引数据时,副本数设置为0。

  

参考:http://note4code.com/2016/06/17/hive-%E5%90%91-elasticsearch-%E5%AF%BC%E5%87%BA%E6%95%B0%E6%8D%AE/

从蜂巢导入数据到