千家信息网

从Hive导入数据到ES

发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,大数据方兴未艾,Hive在业界,是大数据的标配了。因此hive数据添加到ES的应用场景还是比较常见的。学习ES官方的es-hadoop, 有从hive导数据到ES. 实验可行。hive的版本: hiv
千家信息网最后更新 2025年01月29日从Hive导入数据到ES

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

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

wget https://artifacts.elastic.co/downloads/elasticsearch-hadoop/elasticsearch-hadoop-6.3.0.zipunzip elasticsearch-hadoop-6.3.0.ziphdfs dfs -mkdir /user/test/es_hadoop/hdfs dfs -put elasticsearch-hadoop-hive-6.3.0.jar /user/test/es_hadoop/ADD JAR hdfs://test/user/test/es_hadoop/elasticsearch-hadoop-hive-6.3.0.jar;

step2 创建Hive表:

CREATE EXTERNAL TABLE elastic_table(   uuid string,   key1 int,   key2 int,   day string)STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler'TBLPROPERTIES('es.resource'='index/type','es.nodes'='serverIP:port','es.index.auto.create'='TRUE','es.mapping.id' = 'uuid');

step3 添加数据

INSERT OVERWRITE TABLE elastc_tableSELECT uuid, key1,key2, day FROM source s;

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

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

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

https://qbox.io/blog/series/how-to-maximize-elasticsearch-indexing-performance

作者总结有3点:

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

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

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

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

node.master: falsenode.data: truenode.ingest: false

bulk api的批量值需要实验,找到最佳参数。建议bulk的大小在5M~10M.

使用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/

数据 集群 索引 场景 问题 应用 参数 性能 接口 版本 还是 实验 可行 最大 方兴未艾 首当其冲 业界 任务 作者 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手机应用商店软件开发 数据库中clear语句 通信网络安全员考试题库 深圳网络安全教育平台登录 2021年青少年网络安全 中化集团软件开发 湖北专业软件开发哪家正规 江苏网络技术服务价目表 关于网络安全的高分电影 怎么获取图书馆数据库资源 数据库引擎和模块 腾讯云服务器ip分配不在当地 安卓数据库死锁 软件开发工程师工作经历简介 服务器项目迁移用什么软件 数据库访问和安装在哪里 外泌体数据库大集合 天骄网络安全手抄报 有关网络安全教育 数据库自动备份工具源码 即时通讯软件开发的功能选择 网络安全教育 口号 煤矿安全风险清单和数据库 九游灌篮高手服务器 成都360网络安全体验中心 北京来也网络技术有限公司 湖南芸点芸软件开发限公司简历 陕西戴尔服务器虚拟化迁移云空间 aepx找不到服务器 江苏分享云服务器安全虚拟主机
0