• 数据集成面试题


    Flume

    一、flume组成

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

    二、flume的事务机制

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

    三、flume的数据会丢失吗?

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

    四、flume的适用场景?

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

    Sqoop

    一、sqoop使用场景

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

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

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

    DataX

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

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

    二、DataX架构介绍

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

    三、 DataX的使用

    基于官网提供的JSON格式配置文件模版,选择对应的读写插件,根据实际情况修改相关配置,最后使用dataX命令提交运行即可
  • 相关阅读:
    人人都可用的Newbing部署项目
    static关键字修饰成员变量与成员函数
    论文阅读笔记 | 三维目标检测——VeloFCN算法
    Telegram 引入了国产小程序容器技术
    2022年深圳市龙岗区企业培育专项扶持细则
    C++语言的return语句的说明
    迅为龙芯开发板系统编译安装pmoncfg
    电子信息工程专业课复习知识点总结:(二)模电
    vue3-web端文件下载
    一本通1072;鸡尾酒疗法
  • 原文地址:https://blog.csdn.net/weixin_52134189/article/details/140048983