1、代码
相关文章:
elasticsearch数据到hive、es-hadoop6.3.0
Hbase Java API简单实践(附源代码解释)
按照惯例,先上代码
(代码还有很多可以优化的地方,待正式工作了,有了更海量的需要处理的数据,更复杂的应用场景,我再回来更新此文。)
只贴出Es用scroll方式读取数据以及批量写入HBase的核心代码,其他工具类、方法,比如es、HBase配置、client、connection获取就不贴了。
1-1、es获取数据
package ipl.restapi.service.bigdata.es;
import ipl.restapi.util.EsOpenCloseUtils;
import ipl.restapi.util.EsPropertiesUtils;
import ipl.restapi.util.HbaseApiUtils;
import org.apache.hadoop.hbase.client.Connection;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.search.SearchHits;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/**
* <p>pakage: ipl.restapi.service.bigdata.es</p>
*
* descirption: es检索某一所以全量数据,导入HBase
*
* @author wanghai
* @version V1.0
* @since <pre>2018/8/15 下午9:03</pre>
*/
public class ReadFromEs {
private static final Logger LOGGER = LoggerFactory.getLogger("es");
private static final int SCROLL_SIZE = 10000;
private static final int