当前位置: 首页 > article >正文

DataX从Mysql导数据到Hive分区表案例

0、下载DataX并解压到对应目录
DataX安装包,开箱即用,无需配置。
https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz
相关参考文档
https://github.com/alibaba/DataX/blob/master/hdfswriter/doc/hdfswriter.md

1、Hive分区表DDL样例
注意分隔符号要和后续的DataX配置保持一致,同时在此将贴源层数据类型统一为String。

CREATE TABLE datax.fin_transaction_flow (transaction_id     STRING COMMENT '交易唯一ID(主键)',account_no         STRING COMMENT '账户号(外键 -> account_info.account_no)',transaction_code   STRING COMMENT '交易类型编码(外键 -> transaction_reference.transaction_code)',amount             STRING COMMENT '交易金额(格式:整数部分18位,小数2位)',currency           STRING COMMENT '币种(如CNY/USD)',counterparty_account STRING COMMENT '对手账户(外键 -> account_info.account_no)',transaction_time   STRING COMMENT '交易时间(格式:yyyy-MM-dd HH:mm:ss)',status             STRING COMMENT '交易状态(成功/失败)',channel            STRING COMMENT '交易渠道(ATM/网银)'
)
PARTITIONED BY (dt STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\b'
STORED AS ORC ;

2、DataX Json配置样例
创建以下Json文件(mysql-hive.json)并放置到DataX节点合适目录下。

{"job": {"setting": {"speed": {"channel": 4}},"content": [{"reader": {"name": "mysqlreader","parameter": {"username": "root","password": "pwd","connection": [{"querySql": ["select  transaction_id,account_no,transaction_code,amount,currency,counterparty_account,transaction_time,status,channel from fin_transaction_flow where dt='20250416';"],"jdbcUrl": ["jdbc:mysql://chdp01:3306/bg2025"]}]}},"writer": {"name": "hdfswriter","parameter": {"defaultFS": "hdfs://chdp01:9000","fileType": "orc","path": "/user/hive/warehouse/datax.db/fin_transaction_flow/dt=20250416","fileName": "xxxx","column": [{"name": "transaction_id","type": "STRING"},{"name": "account_no","type": "STRING"},{"name": "transaction_code","type": "STRING"},{"name": "amount","type": "STRING"},{"name": "currency","type": "STRING"},{"name": "counterparty_account","type": "STRING"},{"name": "transaction_time","type": "STRING"},{"name": "status","type": "STRING"},{"name": "channel","type": "STRING"}],"writeMode": "append","fieldDelimiter": "\b","compress": "NONE"}}}]}
}

3、手动创建对应分区目录

hadoop fs -mkdir /user/hive/warehouse/datax.db/fin_transaction_flow/dt=20250416

4、执行DataX

./bin/datax.py ../mysql-hive.json

看最终状态显示成功
在这里插入图片描述
hdfs目标目录里也有了对应文件
在这里插入图片描述

5、添加分区信息
经过上述操作还不能直接从hive表里查询出数据,因为元数据信息尚未构建起来。

ALTER TABLE datax.fin_transaction_flow ADD IF NOT EXISTS PARTITION (dt='20250416');

6、验证数据
在这里插入图片描述

7、问题:发现count数据为0

select count(*) from datax.fin_transaction_flow;

这个是因为hive未及时构建表分析信息导致,手动执行如下表分析sql即可

analyze table datax.fin_transaction_flow compute statistics;

相关文章:

DataX从Mysql导数据到Hive分区表案例

0、下载DataX并解压到对应目录 DataX安装包,开箱即用,无需配置。 https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz 相关参考文档 https://github.com/alibaba/DataX/blob/master/hdfswriter/doc/hdfswriter.md 1、Hive分区…...

高性能编程相关

​​​​​​​常见高性能编程技巧: 一,系统级性能优化:从系统架构设计考虑,例如消息队列,模块分成分级,IO读写带宽等 二,算法级性能优化:时间和空间优化 三,代码级性能优…...

vulnhub靶场——secarmy

靶机:secarmy靶机,IP地址为192.168.230.18 攻击:kali,IP地址为192.168.230.134 靶机和攻击机都采用VMware虚拟机,都采用NAT模式 端口扫描: nmap 192.168.230.18 -O -A -p- --reason -sV 21/tcp (ftp): 开…...

labview硬件采集

(1)硬件的描述 (2)实验步骤1: (3)实验步骤2 库名/路径的选择要使用32位的开发资料 (4)实验步骤3 (5)实验步骤4 找到DoSetV12() 设置返回类型 设置chan 设置state labv…...

openfeign与dubbo调用下载excel实践

一、前言 openfeign和dubbo均是rpc框架 RPC(Remote Procedure Call,远程过程调用)框架 是一种允许程序像调用本地方法一样调用远程服务器上函数的技术。它隐藏了底层网络通信的复杂性,让开发者可以专注于业务逻辑,实现…...

ISP有感自发

一、黑电平 由于传感器,即便在无光的情况下,依然会产生微小的暗电流,这些暗电流可能是噪点会影响后期的调试。因此,我们便将这些电流处理为0,成为纯黑的颜色。可以在源头消除这些误差。 如何矫正黑电平: …...

web 自动化之 PO 设计模式详解

文章目录 一、什么是 POM二、如何基于 POM 进行自动化框架架构?1、base 层封装2、pageobjects 层封装3、TestCases 层封装 三、元素和方法分离&数据分离1、哪些部分可以进行分离2、示例代码 四、总结 一、什么是 POM POM page object model 页面对象模型 WEB 自…...

NVMe简介1

它分为两部分,这里是第一部分。 NVM Express(NVMe)是一种高性能、可扩展的接口协议,用于通过PCI express(PCIe)总线,实现主机软件与NVM设备之间的通信。目前,由于NVMe SSD相比于SATA…...

【python机器学习】Day 25 异常处理

知识点: 异常处理机制debug过程中的各类报错try-except机制try-except-else-finally机制 在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。 借助ai写代码的时候&…...

数学建模初等模型应用

一、目的 掌握初等模型的建模方法,对简单的初等模型能借助Matlab工具软件进行辅助建模、求解和检验。 二、实验内容与设计思想(设计思路、主要代码分析) 1、预测鱼的质量 (1)设计思路:使用线性回归模型预测鱼的质量…...

占位符读取标准输入缓冲区规则

1、如果标准输入缓冲区中的前若干个字符都是空白字符,%s,%d,%f都能直接跳过并且从第一个非空白字符开始读取,但%c不能,而是直接读取。 2、%s遇到空白字符时停止,不会读取遇到的空白字符。 3、%d遇到非数字…...

【MCP教程系列】SpringBoot 搭建基于 Spring AI 的 SSE 模式 MCP 服务

原文地址:https://developer.aliyun.com/article/1662946 在当今快速发展的AI技术背景下,如何高效地集成模型能力成为开发者关注的重点。本文将手把手教你如何基于 Spring AI 搭建支持 SSE(Server-Sent Events)模式的 MCP 服务 相…...

【kafka】kafka概念,使用技巧go示例

1. Kafka基础概念 1.1 什么是Kafka? Kafka是一个分布式流处理平台,用于构建实时数据管道和流式应用。核心特点: 高吞吐量:每秒可处理百万级消息持久化存储:消息按Topic分区存储在磁盘分布式架构:支持水平…...

利用散点图探索宇航员特征与太空任务之间的关系

利用散点图探索宇航员特征与太空任务之间的关系 import matplotlib.pyplot as plt import numpy as np import pandas as pdfrom flexitext import flexitext from matplotlib.patches import FancyArrowPatchplt.rcParams.update({"font.family": "Corbel&quo…...

Ubuntu 命令行显示中文输出信息

Ctrl Alt T 打开终端命令行, 输入命令: sudo apt-get install language-pack-zh-hans安装中文语言支持包 sudo apt-get install language-pack-zh-hans-base配置环境变量 sudo vim /etc/profile进入文件后,按下 a 进入编辑模式,shift ↓ \downarr…...

Linux文件编程——read函数与lseek函数

一、read函数 在 Linux 文件编程中,read 函数是一个系统调用,用于从文件描述符(File Descriptor)指向的文件或设备中读取数据到缓冲区。它是 Unix/Linux 系统编程中实现底层 I/O 操作的核心函数之一。以下是 read 函数的详细使用…...

[思维模式-38]:看透事物的关系:什么是事物的关系?事物之间的关系的种类?什么是因果关系?如何通过数学的方式表达因果关系?

一、什么是事物的关系? 事物的关系是指不同事物之间存在的各种联系和相互作用,它反映了事物之间的相互依存、相互影响、相互制约等特性。以下从不同维度为你详细阐述: 1、关系的类型 因果关系 定义:一个事件(原因&a…...

【2025.5.12】视觉语言模型 (更好、更快、更强)

【2025.5.12】Vision Language Models (Better, Faster, Stronger): https://huggingface.co/blog/vlms-2025 【2024.4.11】Vision Language Models Explained【先了解视觉语言模型是什么】: https://huggingface.co/blog/vlms nanoVLM: https://github.…...

Spring的bean的生命周期?

Spring中bean的生命周期包括以下步骤: 通过BeanDefinition获取bean的定义信息。 调用构造函数实例化bean。 进行bean的依赖注入,例如通过setter方法或Autowired注解。 处理实现了Aware接口的bean。 执行BeanPostProcessor的前置处理器。 调用初始化…...

Qwen集成clickhouse实现RAG

一、RAG概要 RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了信息检索技术与语言生成模型的人工智能技术。旨在通过检索相关文档来增强大模型的生成能力,从而提高预测的质量和准确性。RAG模型在生成文本或回答…...

Excel分组计算求和的两种实现方案

文章目录 背景样例数据方案一、函数求和实现步骤缺点 方案二、数据透视表实现步骤优点 背景 在Excel文档中,经常会进行数据的求和计算,可使用不同的方式实现,记录下来,方便备查。 样例数据 已有商品销量信息,包含销…...

深入理解卷积神经网络:从基础原理到实战应用

在人工智能领域,卷积神经网络(Convolutional Neural Network,简称 CNN)凭借其强大的图像识别、处理能力,成为深度学习中不可或缺的技术。无论是自动驾驶汽车识别道路标志,还是医学影像分析辅助疾病诊断&…...

LLM定制新路径:微调与上下文学习的博弈与融合

在当今人工智能的浪潮中,大型语言模型(LLMs)已成为推动行业进步的关键力量。无论是自然语言处理、文本生成还是多模态应用,LLMs都在展现着它们的强大能力。然而,当我们将这些强大的模型应用于特定的下游任务时&#xf…...

【江苏省】《信息技术应用创新软件适配改造成本评估规范》(DB32/T 4935-2024)-标准解读系列

在信息技术应用创新产业蓬勃发展的当下,软件适配改造成本评估成为项目实施的关键环节。《DB32/T 4935-2024 信息技术应用创新软件适配改造成本评估规范》应运而生,为成本评估提供了专业依据。同时,《省级政务信息化项目建设方案编制规范&…...

JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践

JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践 Java开发与运维过程中,JDK自带的命令行工具是定位问题、性能调优、编译调试的基石。本文全面梳理JDK常用命令工具、帮助文档的获取方式,并总结类似Linux命令行的学习方法,助你系…...

嵌入式中深入理解C语言中的指针:类型、区别及应用

在嵌入式开发中,C语言是一种基础且极为重要的编程语言,其中指针作为一个非常强大且灵活的工具,广泛应用于内存管理、动态数据结构的实现以及函数参数的传递等方面。然而,尽管指针的使用极为常见,很多开发者在掌握其基本使用后,往往对指针的深入理解还不够。本文将深入分析…...

香港维尔利健康科技集团成都区域运营中心投入使用,西南市场战略全面提速

近日,香港维尔利健康科技集团正式宣布,其位于四川成都的西南区域运营中心已全面建成并投入使用。该中心将集设备调配、技术支持、客户服务、运营管理及数字健康平台维护于一体,成为集团在中国内地智慧医疗战略版图中的关键枢纽,对…...

STM32CubeMX HAL库 串口的使用

1.配置 2.开启中断后,生成代码 3.串口的接收 1).开启空闲中断接收 __HAL_UART_ENABLE_IT(huart, UART_IT_IDLE); // 关键步骤:启用空闲中断 2). 启动接收 调用 HAL_UARTEx_ReceiveToIdle_IT 启动异步接收,可以使用…...

二手车估值接口介绍

二手车估值接口是基于大数据和机器学习技术开发的工具,旨在为二手车交易、金融评估等场景提供快速、精准的车辆价值评估服务。以下从核心功能、技术原理、接口特点及应用场景等方面进行综合介绍: 一、核心功能 多维度数据采集与分析 接口整合了车辆基础…...

flutter 视频通话flutter_webrtc

flutter 比较热门的库 flutter_webrtc | Flutter package agora_rtc_engine | Flutter package 我使用的是flutter_webrtc 下面是官方推荐的demo库 GitHub - flutter-webrtc/flutter-webrtc-demo: Demo for flutter-webrtc 其中 https://demo.cloudwebrtc.com:8086/ 已经停…...