数据集成面试题

Flume

一、flume组成

--Agent
Flume的部署单元,本质上是一个JVM进程,Agent主要由Source、Channel、Sink三个部分组成
--Source
收集数据,以event为单元进行封装发送给channel
参数配置:当采集速度比较慢,调整batchSize参数,该参数决定了source 一次批量运输events到channel 的条数
--Channel
Source接收的数据会被发送到Channel缓冲区暂时存储
参数配置:选择内存(memory)时,channel性能最好,选择磁盘(file)时,安全性高,但是性能差
--Sink
用于将Channel中的数据发送到外部数据源。
参数配置:调整batchsize参数,决定了sink一次批量从channel 读取的events条数

二、flume的事务机制

flume使用两个独立事务put和take,分别负责从source 到channel 、channel 到sink,记录事件状态,保证两个过程的数据不会丢失

三、flume的数据会丢失吗?

根据flume的事务机制,flume的数据一般不会丢失,除非使用的时候memory channel ,在机器宕机的时候会导致数据丢失,或者channel 满了,sources无法写入导致数据丢失.
此外,也有可能完成数据重复,比如sink接收到一批数据,处理到一半宕机了,处理完的数据没有给channel 发送响应,导致channel 重新发送数据,造成数据重复。

四、flume的适用场景?

1、大规模数据的离线采集
2、日志收集与聚合
3、实时数据采集

Sqoop

一、sqoop使用场景

sqoop用于关系型数据库(如Mysql、Oracle、SQL Server)与hdfs之间的数据传输

二、Sqoop底层运行的任务是什么

Sqoop会为数据传输生成MapReduce作业,但是Sqoop的MapReduce任务只有Map阶段,没有Reduce阶段。

DataX

一、简单介绍一下DataX(DataX使用场景)

DataX是一个由阿里巴巴开源的离线数据同步工具,实现包括主流关系型数据库、NoSQL、大数据计算系统在内的多种异构数据源之间数据同步功能。

二、DataX架构介绍

--Reader
负责采集数据源的数据,将数据发送给Framework
--Framework
用于连接reader和writer,作为两者的数据传输通道,并处理缓冲、流控、并发、数据转换等核心技术问题。
--Writer
负责不断向Framework取数据,并将数据写入到目的端

三、 DataX的使用

基于官网提供的JSON格式配置文件模版,选择对应的读写插件,根据实际情况修改相关配置,最后使用dataX命令提交运行即可

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

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

相关文章

IOS Swift 从入门到精通:写入 Firestore数据库

文章目录 FirestoreManager 类创建文档更新文档更新 Firestore 权限规则现在,我们想要在 Firestore 中添加或更新文档。如果您还没有,我建议您阅读有关设置 Firebase Auth 和从 Firestore 读取的部分。您必须在应用程序中启用 Firebase,并在项目中启用 Firestore 数据库,才…

【IT专业入门,高考假期预习指南】高考后的IT征途:启航前的准备与策略

IT专业入门,高考假期预习指南 七月来临,各省高考分数已揭榜完成。而高考的完结并不意味着学习的结束,而是新旅程的开始。对于有志于踏入IT领域的高考少年们,这个假期是开启探索IT世界的绝佳时机。作为该领域的前行者和经验前辈&a…

Java中的分布式事务管理

Java中的分布式事务管理 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨Java中的分布式事务管理,这是在现代大规模应用中必须解决…

【SkiaSharp绘图14】SKCanvas方法详解(三)URL注释、按顶点绘制、 是否裁切区域之外、旋转、缩放、倾斜、平移、保存/恢复画布

文章目录 SKCanvas方法DrawUrlAnnotation 绘制URL注释DrawVertices 按顶点绘制Flush 立即绘制QuickReject 判断区域是否在裁切区域之外ResetMatrix重置矩阵Restore、RestoreToCountRotateDegrees按角度旋转画布RotateRadians按弧度旋转画布SaveLayer保存并新建图层Scale 缩放画…

Python协作运动机器人刚体力学解耦模型

🎯要点 🎯腿式或固定式机器人模型 | 🎯网格、点云和体素网格碰撞检测 | 🎯正反向运动学和动力学 | 🎯机器人刚体力学计算 | 🎯编辑参考系姿势和路径 | 🎯软件接口实体机器人模拟 | &#x1f3a…

使用shell脚本进行clang-tidy静态代码分析

文章目录 0. 引言1. 完整检测脚本代码 clang-tidy-check.sh1.1 流程图1.2 脚本功能概述 2. 该脚本优缺点 0. 引言 clang-tidy 是基于 Clang 的工具,提供了丰富的代码检查功能,可以根据用户配置文件进行定制化的检查和规则定义。 之前的文章《使用 Clang…

分子AI预测赛Task2笔记

下面所述比较官方的内容都来自官方文档 ‍‌⁠‌‍​​​‌​​⁠​​​​​​​​‍‬​​‍⁠‍‍​​‬​‌​​​‌‍‬​​​​​​‍‌Task2:赛题深入解析 - 飞书云文档 (feishu.cn) 赛题背景 强调了人工智能在科研领域&…

WebDriver API

WebDriver API 是一组允许程序控制和自动化Web浏览器的接口,它是Selenium框架的一部分。Selenium 是一个广泛使用的开源自动化测试工具,用于Web应用程序的自动化测试。WebDriver API 提供了与浏览器进行交互的能力,支持多种浏览器&#xff0c…

苹果电脑废纸篓数据被清空了,有什么方法可以恢复吗?

使用电脑的用户都知道,被删除的文件一般都会经过回收站,想要恢复它直接点击“还原”就可以恢复到原始位置。mac电脑同理也是这样,但是“回收站”在mac电脑显示为“废纸篓”。 苹果电脑废纸篓数据被清空了,有什么方法可以恢复吗&am…

java反射和注解

反射 获取class对象的三种方法 ①:Class.forName("全类名"); ②:类名.class ③:对象.getclass(); 代码样例 package com.ithema;public class Main {public static void main(String[] args) throws ClassNotFoundException {//第…

基于Canvas的Html5多时区动态时钟实战

目录 前言 一、关于Canvas技术 1、Canvas是什么 2、Canvas的属性及渲染特性 二、Canvas动态多时区展示 1、新建html页面 2、创建Canvas对象 3、绘制所有的时钟 总结 前言 出差旅行相信大家一定会住酒店,大家在酒店的前台进行预订的时候,是不是都…

centos执行yum相关命令报错的可能原因

文章目录 1. 执行yum命令是报下面一大帕拉2. 安装某个包报错,找不到这个包 1. 执行yum命令是报下面一大帕拉 最后一行报错,在repo文件中找不到空baseurl:xxx / x86_64 执行这行命令把这个找不到的 xxx 禁掉即可sudo yum-config-manager --di…

【项目日记(三)】搜索引擎-搜索模块

❣博主主页: 33的博客❣ ▶️文章专栏分类:项目日记◀️ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你了解更多项目内容 目录 1.前言2.项目回顾3.搜索流程3.1分词3.2触发3.3去重3.4排序3.5包装 4.总结 1.前言 在前…

Qt的源码目录集合(V5.12.12版本)

目录 1.QObject实现源码 2.qml中的ListModel实现源码 3.qml中的JS运行时的环境和数据类型源码 1.QObject实现源码 .\Qt\Qt5.12.12\5.12.12\Src\qtbase\src\corelib\kernel\qobject.h .\Qt\Qt5.12.12\5.12.12\Src\qtbase\src\corelib\kernel\qobject.cpp .\Qt\Qt5.12.12\5…

虚拟机USB——解决每次插U盘都得选择连接到主机还是虚拟机问题

虚拟机USB——解决每次插U盘都得选择连接到主机还是虚拟机问题 1.编辑–>首选项–> 2.如果想每次插U盘都连接到主机就选“将设备连接到主机” 如果想每次插U盘都进行选择,就选择“询问要执行的操作”

Vscode常用快捷键

前言: 使用环境:ubuntu22.04 按键组合功能AltO切换源/头文件CtrlK,CtrlC注释CtrlK,CtrlU取消注释CtrlK,CtrlI格式化F12跳转函数定义CtrlAlt-跳转函数后返回CtrlW关闭当前标签页CtrlB关闭右侧边栏Ctrl← /→光标移至单词首/尾CtrlShift←/→跳选单词选中CtrlDelete删…

【软考论文】论基于架构的软件设计方法及应用(ABSD)

目录 一、题目二、论文2.1 摘要2.2 正文三、扩展一、题目 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的 商业、质量和功能需求 等要素来驱动整个软件的开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解…

GCP FrontendConfig 详解:优化您的云负载均衡

目录 1. 什么是GCP FrontendConfig? 2. FrontendConfig的主要功能 2.1 协议选择 2.2 SSL/TLS配置 2.3 重定向配置 2.4 自定义响应头 3. 配置FrontendConfig 4. FrontendConfig的高级特性 4.1 智能路由 4.2 流量控制 4.3 日志和监控 5. FrontendConfig最佳实践 5.…

Ubuntu22.04使用/etc/rc.local开机启动程序

前言 因为在工作中,Ubuntu系统经常使用到开机启动,为了方便之后使用,特此介绍下如何使用/etc/rc.local来开机启动程序,步骤如下,针对Ubuntu20.04或Ubuntu22.04系统都有效。 使用root权限编辑/lib/systemd/system/rc-…

在 Mac 上使用 本地 LLM 文本终结

我们可使用本地大型语言模型,如Mistral、Llama等,来给文本做总结,相比在线的 Kimi ,ChatGPT, 我们不用担心数据泄露,因为整个操作都是在本地电脑完成的。 我们用 ollama 举例 首先安装 ollama https://ol…