返回顶部
首页 > 资讯 > 后端开发 > Python >Easticsearch 数据迁移至in
  • 222
分享到

Easticsearch 数据迁移至in

数据Easticsearch 2023-01-31 03:01:45 222人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

Easticsearch 数据迁移至influxdb python需求:将Easticsearch部分数据迁移至influxdb中。见过从Mysql,influxdb迁移至Easticsearch中的,没见过从Easticsearch迁移至

Easticsearch 数据迁移至influxdb python


需求:将Easticsearch部分数据迁移至influxdb中。


见过从Mysql,influxdb迁移至Easticsearch中的,没见过从Easticsearch迁移至influxdb中,迁移的数据是一些实时性的流量数据,influxdb时序性数据库对这类数据的支撑比较客观。


解决方案:大批量从Easticsearch取数据,两种方案。1.from...size    2.scroll (类似于数据库的游标)  脚本采用第二种scroll方案对Easticsearch 查询取数据。循环通过scrool_id进行查询并写入influxdb中。


#!/usr/bin/env Python
#coding=utf-8

import sys
import JSON
import datetime
import elasticsearch
from influxdb import InfluxDBClient

#连接Easticsearch
class ES(object):
    @claSSMethod
    def connect_host(cls):
        url = "Http://192.168.121.33:9202/"
        es = elasticsearch.Elasticsearch(url,timeout=120)
        return es
es = ES.connect_host()

#连接influxdb
client = InfluxDBClient(host="192.168.121.33", port="8086", username='admin', passWord='admin', database='esl')
client.create_database('esl')

#DSL查询语法
data = {
    "query": { "match_all" : {}},
    "size": 100
}

# 设置要过滤返回的字段值,要什么字段。
    'hits.hits._source.resource_id',
    'hits.hits._source.timestamp',
    'hits.hits._source.counter_volume',
    'hits.hits._source.@timestamp',
]

# 指定search_type="scan"模式,并返回_scroll_id给es.scroll获取数据使用
res = es.search(
    index='pipefilter_meters*',
    doc_type ='canaledge.flow.bytes',
    body=data,
    search_type="scan",
    scroll="10m"
)
scroll_id = res['_scroll_id']

response= es.scroll(scroll_id=scroll_id, scroll= "10m",filter_path=return_fields,)
scroll_id = response['_scroll_id']   #获取第二次scroll_id
hits = response['hits']['hits'] 
in_data = []

while len(hits) > 0:
    for i in hits:
        res_id = i['_source']['resource_id']
        r_id, r_type = res_id.split(':')
        datas = {
            "measurement": "es_net",
            "tags": {
                 "resource_id": r_id,
                 "type": r_type
             },
            "time": i['_source']['timestamp'],
            "fields": {
                "counter_volume": i['_source']['counter_volume']
            }
        }
        in_data.append(datas)
    #循环写入influxdb
    client.write_points(in_data)
    in_data = []   #每次循环完重新定义列表为空

    data = {
        "query": { "match_all" : {}},
        "size": 100
    }
    ## 设置要过滤返回的字段值,要什么字段。
        '_scroll_id',
        'hits.hits._source.resource_id',
        'hits.hits._source.timestamp',
        'hits.hits._source.counter_volume',
        'hits.hits._source.@timestamp',
    ]

    ## 指定search_type="scan"模式,并返回_scroll_id给es.scroll获取数据使用
    response= es.scroll(scroll_id=scroll_id, scroll= "10m",filter_path=return_fields,)
    #调试
    #if not response.get('hits'):
    #    print response
    #    sys.exit(1)
    #else:
    
    hits = response['hits']['hits']
    scroll_id = response["_scroll_id"] #获取第三次scroll_id


--结束END--

本文标题: Easticsearch 数据迁移至in

本文链接: https://lsjlt.com/news/187368.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Easticsearch 数据迁移至in
    Easticsearch 数据迁移至influxdb python需求:将Easticsearch部分数据迁移至influxdb中。见过从mysql,influxdb迁移至Easticsearch中的,没见过从Easticsearch迁移至...
    99+
    2023-01-31
    数据 Easticsearch
  • 利用DBMS_FILE_TRANSFER迁移数据库从AIX至Linux
    环境描述源端目标端操作系统AIX 6100-03-10-1119RHEL6.5 x64集群Oracle RAC+ASMOracle RAC+ASM数据库版本11.2.0.3.011.2.0.4.01、初始化...
    99+
    2024-04-02
  • hadoop数据怎么迁移至对象存储
    将Hadoop数据迁移至对象存储可以通过以下步骤实现: 确保您已经设置好了对象存储服务,并拥有相应的权限和凭证。 使用Hadoop...
    99+
    2024-04-11
    hadoop
  • Oracle单机迁移至Oracle RAC集群_Oracle RAC迁移_数据库迁移与备份恢复13
    风哥本套学习Oracle单机迁移至Oracle RAC集群过程Oracle单机迁移至Oracle RAC集群_Oracle备份恢复与数据迁移13课程地址:https://edu.51cto.com...
    99+
    2024-04-02
  • Oracle RAC集群迁移至Oracle单机_Oracle RAC迁移_数据库迁移与备份恢复12
    风哥本套课程熟悉生产环境Oracle RAC集群迁移至Oracle数据库单机的项目实施Oracle RAC集群迁移至Oracle单机_Oracle备份恢复与数据迁移12课程地址:https://edu.51...
    99+
    2024-04-02
  • 利用pgloader工具将MySQL数据迁移至PostgreSQL数据库
    一、简介 pgloader是一款开源软件,可以将各种来源的数据加载到PostgreSQL数据库中,支持动态读取数据,使用 COPY 流式传输协议将数据加载到 PostgreSQL 数据库中,并使用单独的线程读取和写入数据,由于能够直接从源数...
    99+
    2023-09-03
    数据库 mysql postgresql zabbix 运维开发
  • Mysql怎样迁移至postgrepsql
    Mysql怎样迁移至postgrepsql,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 1mysql迁移数据至postgrepsql m...
    99+
    2024-04-02
  • 迁移phpstudy中的mysql至Linux
    项目目的 将原来windows环境中使用phpstudy搭建的mysql 5.5.53 中的数据迁移至新主机Linux环境中 环境情况 新主机 系统平台: CentOS release 7.4 (Final...
    99+
    2024-04-02
  • PHP源码已迁移至GitHub
    这篇文章主要为大家展示了“PHP源码已迁移至GitHub”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP源码已迁移至GitHub”这篇文章吧。据PHP官方消息,PHP源代码已经从Subver...
    99+
    2023-06-17
  • DB2 V95 数据库 迁移升级至 V105 实战案例
    cbsdb09-JSJKDB V95迁移升级至tms01db01sz V105步骤 1.       准备工作 新机器tms0...
    99+
    2024-04-02
  • 阿里云数据库迁移至Azure的详细指南
    在数字化转型的过程中,企业需要面对的挑战之一就是如何将数据库从一个云平台迁移到另一个云平台。阿里云数据库和Azure都是非常流行的云数据库服务,但它们之间的迁移并不是一件容易的事。本文将为您提供一个详细、全面的阿里云数据库迁移到Azure的...
    99+
    2023-11-12
    阿里 数据库 指南
  • EntityFramework数据迁移
    1.启用迁移 在Package Manager Console中运行Enable-Migrations命令 此命令已将Migrations文件夹添加到我们的项目中,此新文件夹包含两个文件: ...
    99+
    2021-02-20
    EntityFramework数据迁移
  • Mysql迁移至KingBase(金仓数据库)避坑指南-Java版
            最近因为项目国产化需要,需要将Mysql数据库适配到金仓数据库中,就此给大家分享一下我的采坑过程。如有错误。恳请指正! 一、资源准备 官网地址 人大金仓-成为世界卓越的数据库产品与服务提供商金仓社区 金仓社区-数据库使用者、...
    99+
    2023-09-11
    mysql java 数据库
  • Oracle XTTS跨平台数据库迁移(从Unix迁移数据库到Linux)_Oracle数据库迁移项
     Oracle数据库迁移教程04 Oracle XTTS跨平台数据库迁移实战(真正超越OCP/OCM的项目实战系列教程)本套风哥Oracle教程学习内容1.Oracle XTTS技术基础知识2.Oracle...
    99+
    2024-04-02
  • sqlserver 数据库迁移
    数据迁移  业务情景     客户环境是系统A的1.0版本,开发环境是系统A的2.0版本。2.0版本对于数据库有部分变更(主要是新增表和字段,不涉及字段删除和变更)。这个时候需要在客户环境安装数据库2....
    99+
    2019-04-26
    sqlserver 数据库迁移
  • oracle 数据库迁移
    PL/SQL Release 11.2.0.4.0 - Production导出版本,数据库地址10.36.40.53PL/SQL Release 11.2.0.4.0 - Production导入版本,数...
    99+
    2024-04-02
  • EF数据库迁移
    开启codefirst迁移命令:Enable-Migrations -ContextTypeName BlogEntitiesBlogEntities(上下文,继承DbContext的那个类)更新数据库命令...
    99+
    2024-04-02
  • Oracle数据迁移MySQL
    前言: 现今,Oracle数据迁移MySQL的需求已经越来越普遍,主要的迁移场景大致可以分为三类,第一类是涉及小表以及少量表的一次性迁移,无需进行增量同步,第二类是涉及大表以及多表的一次性迁移,第三类是涉及增量实时同步,而对于数据的迁移方法...
    99+
    2023-09-26
    oracle mysql 数据库 运维 dba
  • mysql数据库迁移
    目录 背景迁移数据库 背景 公司有个项目,刚开始数据量不是大的时候,数据库和服务上的所有应用数据都放在一个旧小盘中,随着项目数据的增长,旧的磁盘被占满了,导致系统无法写入数据,我和同事排查了很长时间,最终确定是磁盘被占满导致的一...
    99+
    2023-08-23
    数据库 mysql
  • Angular中如何将迁移tslint至eslint
    这篇文章主要介绍Angular中如何将迁移tslint至eslint,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!tslint vs eslintlint类型用处现状tslint用来...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作