【DataX】将hive表数据导入ES

news/2024/11/27 23:50:39/

目录

一、环境

二、创建hive测试表

三、Es写入插件包

四、配置json

五、数据同步

1、执行命令

2、查看es结果


一、环境

        DataX:windows安装

        Es版本:7.9.0        

二、创建hive测试表

CREATE TABLE teacher(name string,age int
)row format delimited fields terminated by ','
stored as orc;
insert into teacher(name,age) values("zhangsn",22);
insert into teacher(name,age) values("lisi",30);
insert into teacher(name,age) values("wangwu",66);
insert into teacher(name,age) values("lihua",15);

三、Es写入插件包

下载地址

 将es写入插件包放进plugin\writer文件夹下。

四、配置json

 hive_es.json:

{"job": {"setting": {"speed": {"channel": 1}},"content": [{"reader": {"name": "hdfsreader","parameter": {"path": "/user/hive/warehouse/teacher/*","defaultFS": "hdfs://192.168.xx.xx:8020","column": [{"index": 0,   "type": "string" },{"index": 1,   "type": "long" }],"fileType": "orc","encoding": "UTF-8","fieldDelimiter": ","}},"writer": {"name": "elasticsearchwriter","parameter": {"endpoint": "http://192.168.xx.xx:9200/","accessId": "123","accessKey": "123","cleanup": true,"index":"teacher","type":"_doc","settings": {"settings":{"index":{"mapping":{"total_fields":{"limit":2000}},"number_of_replicas":2,"number_of_shards":10}}},"batchSize": 1000,"splitter": ",","column": [{"name":"name","type":"string"},{"name":"age","type":"long"}]}}}]}
}

注意:

1、将配置好的hive_es.json文件放到job文件夹下;

2、hive的读取配置是hdfsreader,在hive中使用show create table teacher命令可以查看teacher表在hdfs中的位置,得到这个位置可以配置hdfsreader的defaultFs和path;

3、hive表的int类型对应hdfsreader字段配置的long,否则数据同步失败;ES也是对应为long;

4、可以使用下面命令查找读取、写入的标准模板(前提是对应reader和writer文件夹中的插件文件夹中要有plugin_job_template.json文件模板):

D:\workSoftWare\datax\datax\bin>datax.py -r mysqlreader -w elasticsearchwriter

五、数据同步

1、执行命令

D:\workSoftWare\datax\datax\bin>python  datax.py  ../job/hive_es.json

2、查看es结果

        这里使用kibana查询:

GET /teacher/_search
{"took" : 3,"timed_out" : false,"_shards" : {"total" : 10,"successful" : 10,"skipped" : 0,"failed" : 0},"hits" : {"total" : {"value" : 4,"relation" : "eq"},"max_score" : 1.0,"hits" : [{"_index" : "teacher","_type" : "_doc","_id" : "pnhlI4gBUNFFJN_x_IxO","_score" : 1.0,"_source" : {"name" : "wangwu","age" : 66}},{"_index" : "teacher","_type" : "_doc","_id" : "o3hlI4gBUNFFJN_x9Yw7","_score" : 1.0,"_source" : {"name" : "zhangsn","age" : 22}},{"_index" : "teacher","_type" : "_doc","_id" : "onhlI4gBUNFFJN_x74zU","_score" : 1.0,"_source" : {"name" : "lisi","age" : 30}},{"_index" : "teacher","_type" : "_doc","_id" : "pHhlI4gBUNFFJN_x-IyH","_score" : 1.0,"_source" : {"name" : "lihua","age" : 15}}]}
}

同步成功!!!


http://www.ppmy.cn/news/69020.html

相关文章

FFMPEG录屏(16)--- MAG(Magnification)捕获桌面

最近增加了对Magnification API捕获桌面的支持,记录一下过程和其中遇到的问题。 参考资料 Magnification API overview Magnification API sample webrtc screen_capturer_win_magnifier.cc Structured Exception Handling (C/C) 前言 我又不得不吐槽一下了&a…

azkaban --- 案例实操

目录 案例一 : 输出Hello World 案例二 :作业依赖 案例三 :内嵌工作流 案例四 :自动失败 案例五 :手动失败 案例六 :JavaProcess 案例七 :启动服务 案例八 :Hbase 案例九 …

ClickHouse为何能超越Elasticsearch?

背景 Elasticsearch是一个强大的分布式全文检索和数据分析引擎,也是日志分析系统经常使用的一种实现方案,但近年来随着ClickHouse的发展,Elasticsearch在日志分析领域的地位逐渐被取代,许多公司已经将自己的日志分析解决方案从ES…

在外远程访问公司局域网用友畅捷通T财务软件 - 远程办公

文章目录 前言1.本地访问简介2. cpolar内网穿透3. 公网远程访问4. 固定公网地址 前言 用友畅捷通T适用于异地多组织、多机构对企业财务汇总的管理需求;全面支持企业对远程仓库、异地办事处的管理需求;全面满足企业财务业务一体化管理需求。企业一般将其…

Kali-linux系统指纹识别

现在一些便携式计算机操作系统使用指纹识别来验证密码进行登录。指纹识别是识别系统的一个典型模式,包括指纹图像获取、处理、特征提取和对等模块。如果要做渗透测试,需要了解要渗透测试的操作系统的类型才可以。本节将介绍使用Nmap工具测试正在运行的主…

HBuilderX使用

HBuilderX使用(Vue前后端分离) 概述:DCloud开发者后台 DAccount Service 1、官网下载开发工具:HBuilderX-高效极客技巧 注意:安装目录路径中不能出现中文特殊字符,否则会造成项目无法编译。比如C:/Progr…

shell编程之免交互

一、Here Document 免交互 1.概述 使用 I/O 重定向的方式将命令列表提供给交互式程序或命令,比如 ftp 、cat 或 read 命令。 是标准输入的一种替代品可以帮助脚本开发人员不必使用临时文件来构建输入信息,而是直接就地生产出一个 “文件” 并用作 “命…

在JavaScript中4种创建枚举方式

本文译者为 360 奇舞团前端开发工程师 原文标题:4 Ways to Create an Enum in JavaScript原文作者:Dmitri Pavlutin原文地址:https://dmitripavlutin.com/javascript-enum/ 使用枚举(enum)可以方便地表示一个变量&…