如何使用 DataX 连接 Easysearch

DataX

DataX 是阿里开源的一款离线数据同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。

本篇主要介绍 DataX 如何将数据写入到 Easysearch,对于各种数据源的连接不会做深入的探讨,感兴趣的小伙伴可以访问 DataX 的 Github 仓库查看详情。

下载与安装

DataX 无需安装,下载后解压即可使用。

系统需求:

  1. JDK 1.8 及以上
  2. Python2 或 3

创建任务配置文件

每个数据同步的操作可称为一个任务,任务的配置文件定义了数据源(reader)、数据目的(writer) ,以及任务的设置信息,如并发数、速度控制等。DataX 集成了如此多的数据源,如果靠纯手工编写任务配置显然不现实。官方也出了个命令可以根据指定的数据源和数据目的帮助大家生成任务配置。

python datax.py -r {YOUR_READER} -w {YOUR_WRITER}

测试配置文件

此次演示使用 streamreader 和 elasticsearchwriter 作为数据源和数据目的,任务配置如下:

{"job": {"content": [{"reader": {"name": "streamreader","parameter": {"sliceRecordCount": 10000,"column": [{"type": "long","value": "10"},{"type": "string","value": "hello,你好,世界-DataX"},{"type": "string","value": "hello,你好,Easysearch"}]}},"writer": {"name": "elasticsearchwriter","parameter": {"endpoint": "http://localhost:9200","accessId": "admin","accessKey": "1ef0c661d8562aaa06be","index": "yf-test","column": [{ "name": "no", "type": "long" },{ "name": "content", "type": "keyword" },{ "name": "content2", "type": "keyword" }]}}}],"setting": {"speed": {"channel": 50}}}
}

streamreader 是一个从内存读取数据的插件, 它主要用来快速生成期望的数据并对写入插件进行测试。

我们用 streamreader 构造了 10000 个文档,文档含三个字段,任务启动了 50 个 channel 进行数据发送,结果就是共计发送 50w 个文档。

elasticssearchwriter 指定了 Easysearch 的连接信息:

  • endpoint: Easysearch 的地址和端口
  • accessId: 用户名
  • accessKey: 密码
  • index: 写入索引名
  • column: 对 reader 发来数据的 schema 定义
  • batchsize: 默认 1000

这次我们 Easysearch 开启的 http 服务,因为 DataX 的 elasticsearchwriter 无法跳过证书验证。对于必须使用 https 的场景,可使用 INFINI Gateway 代理 ES 服务,提供 http 通道给离线数据同步专用。

⚠️ 注意:

不同的 reader、writer 对 sliceRecordCount 和 channel 会有不同的行为。

Easysearch

本次测试使用的 Easysearch 版本是 1.9.0,需要注意是 Easysearch 要开启兼容性参数:

elasticsearch.api_compatibility: true

否则创建索引报错退出。(实际索引创建成功了但是 mapping 信息是空的)

运行任务

编辑好任务配置文件后,下一步就是执行任务。

python3 datax.py yf-test.json

写入数据时索引不存在,Datax 根据 schema 定义创建了索引。

OK 任务执行完毕,写入 50w 个文档耗时 10 秒。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/69386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据治理双证通关经验分享 | CDGA/CDGP备考全指南

历经1个月多的系统准备,本人于2024年顺利通过DAMA China的CDGA(数据治理工程师)和CDGP(数据治理专家)双认证。现将备考经验与资源体系化整理,助力从业者高效通关。 🌟 认证价值与政策背景 根据…

结合个人经历谈谈企业数字化

转眼间专注于从事企业数字化转型的工作已经3年。在这之前我做了8年的开发工作,8年间从最开始的软件开发岗位到高级开发工程师,再到资深开发工程师,主要使用的语言是java,其次js、python、存储过程plsql等。因为各种原因&#xff0…

Linux(20)——调度作业

目录 一、调度延迟的用户作业: 1、延迟的用户作业: 2、查看延迟的用户作业: 3、从计划中删除作业: 二、调度周期性用户作业: 1、周期性用户作业: 2、调度周期性用户作业: 3、用户作业格…

【论文翻译】DeepSeek-V3论文翻译——DeepSeek-V3 Technical Report——第一部分:引言与模型架构

论文原文链接:DeepSeek-V3/DeepSeek_V3.pdf at main deepseek-ai/DeepSeek-V3 GitHub 特别声明,本文不做任何商业用途,仅作为个人学习相关论文的翻译记录。本文对原文内容直译,一切以论文原文内容为准,对原文作者表示…

DeepSeek从入门到精通教程PDF清华大学出版

DeepSeek爆火以来,各种应用方式层出不穷,对于很多人来说,还是特别模糊,有种雾里看花水中望月的感觉。 最近,清华大学新闻与传播学院新媒体研究中心,推出了一篇DeepSeek的使用教程,从最基础的是…

Filter -> MaskFilter遮罩滤镜详解

MaskFilter 作用对象:MaskFilter 主要用于Paint的外观效果,给用Paint绘制的内容添加模糊或者浮雕效果应用效果: MaskFilter 处理位图的遮罩效果,影响绘制的边缘或整体形状主要用于模糊处理、浮雕效果等,通过影响绘制对…

论文阅读:MGMAE : Motion Guided Masking for Video Masked Autoencoding

MGMAE:Motion Guided Masking for Video Masked Autoencoding Abstract 掩蔽自编码(Masked Autoencoding)在自监督视频表示学习中展现了出色的表现。时间冗余导致了VideoMAE中高掩蔽比率和定制的掩蔽策略。本文旨在通过引入运动引导掩蔽策略&#xff0…

晶闸管的静态与开关特性

1. 静态特性 晶闸管的静态特性,是指晶闸管承受变化率较小的正向/反向阳极电压与漏电流之间的关系(即伏安特性),可使它导通的门极电压与电流之间的关系(即门极特性)和正向通态电流与电压之间的关系(即通态特性)。 位于第一象限的是正向特性。当门极开路时()时,…

基于机器学习时序库pmdarima实现时序预测

目录 一、Pmdarima实现单变量序列预测1.1 核心功能与特性1.2 技术优势对比1.3 python案例1.3.1 时间序列交叉验证1.3.1.1 滚动交叉验证1.3.1.2 滑窗交叉验证 时间序列相关参考文章: 时间序列预测算法—ARIMA 基于VARMAX模型的多变量时序数据预测 基于机器学习时序库…

Naive UI去掉n-select下拉框边框,去掉n-input输入框边框

1、第一种通过js去掉 <template><div><div style"margin-top:10px;width: 100%;"><dade-descriptions><tr><dade-descriptions-item label"代理名称"><dade-input placeholder"代理名称"></dade-…

Qwen2-VL-2B-Instruct 模型 RK3576 板端部署过程

需要先在电脑上运行 RKLLM-Toolkit 工具&#xff0c;将训练好的模型转换为 RKLLM 格式的模型&#xff0c;然后使用 RKLLM C API 在开发板上进行推理。 在安装前先查看板端的内存容量&#xff0c;和自己模型占用大小比较一下&#xff0c;别安装编译好了不能用。 这里我就是先尝试…

【C语言标准库函数】双曲函数:sinh(), cosh(), tanh()

目录 一、头文件 二、函数简介 2.1. 双曲正弦函数 sinh(double x) 2.2. 双曲余弦函数 cosh(double x) 2.3. 双曲正切函数 tanh(double x) 三、函数实现&#xff08;概念性&#xff09; 四、注意事项 4.1. 参数类型 4.2. 计算精度 4.3. 函数返回值 4.4. 环境差异 4.…

(五)QT——QDialog 对话框

目录 前言 QDialog 主要功能 QDialog 使用方法 基本QDialog 应用程序级别的模态对话框 标准对话框 示例代码 功能展示 总结 1. 基本功能 2. 创建方式 3. 常用方法 前言 QDialog 是 Qt 框架中的对话框类&#xff0c;用于创建模态&#xff08;modal&#xff09;或非…

python 语音识别方案对比

目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…

TensorFlow域对抗训练DANN神经网络分析MNIST与Blobs数据集梯度反转层提升目标域适应能力可视化...

全文链接&#xff1a;https://tecdat.cn/?p39656 本文围绕基于TensorFlow实现的神经网络对抗训练域适应方法展开研究。详细介绍了梯度反转层的原理与实现&#xff0c;通过MNIST和Blobs等数据集进行实验&#xff0c;对比了不同训练方式&#xff08;仅源域训练、域对抗训练等&am…

OSPF基础(2):数据包详解

OSPF数据包(可抓包) OSPF报文直接封装在IP报文中&#xff0c;协议号89 头部数据包内容&#xff1a; 版本(Version):对于OSPFv2&#xff0c;该字段值恒为2(使用在IPV4中)&#xff1b;对于OSPFv3&#xff0c;该字段值恒为3(使用在IPV6中)。类型(Message Type):该OSPF报文的类型。…

在CT107D单片机综合训练平台上,8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0~F的值,如此往复。

题目&#xff1a;在CT107D单片机综合训练平台上&#xff0c;8个数码管分别单独依次显示0~9的值&#xff0c;然后所有数码管一起同时显示0~F的值&#xff0c;如此往复。 延时函数分析LED首先实现8个数码管单独依次显示0~9的数字所有数码管一起同时显示0~F的值&#xff0c;如此往…

使用VCS对Verilog/System Verilog进行单步调试的步骤

Verilog单步调试&#xff1a; System Verilog进行单步调试的步骤如下&#xff1a; 1. 编译设计 使用-debug_all或-debug_pp选项编译设计&#xff0c;生成调试信息。 我的4个文件&#xff1a; 1.led.v module led(input clk,input rst_n,output reg led );reg [7:0] cnt;alwa…

数据结构及排序算法

数据结构 线性结构 ◆线性结构:每个元素最多只有一个出度和一个入度,表现为一条线状。线性表按存储方式分为顺序表和链表。 存储结构: ◆顺序存储:用一组地址连续的存储单元依次存储线性表中的数据元素,使得逻辑上相邻的元素物理上也相邻。 ◆链式存储:存储各数据元素的结点…

python实现多路视频,多窗口播放功能

系列Python开发 文章目录 系列Python开发前言一、python实现多路视频播放功能二、代码实现1. http申请视频流地址并cv2播放功能 三、打包代码实现生成可执行文件 总结 前言 一、python实现多路视频播放功能 服务端开发后通常需要做功能测试、性能测试&#xff0c;通常postman、…