精华内容
下载资源
问答
  • oralcle,etl工程师面试题锦集,dba资料,Oracle入门资料等。。
  • ETL 工程师面试

    热门讨论 2009-03-13 12:14:18
    ETL工程师面试题 分4个方面 DW ETL 数据库 等
  • etl工程师面试必备。里面涉及ORACLE面试题及优化方案和常见的etl面试题。 目录: DBA操作详细笔记 ETL面试资料 Oracle常见企业面试题集锦 Oracle常见企业面试题集锦-云端 Oracle面试题汇总 Oracle全方位学习笔记 ...
  • 高级ETL工程师面试

    高级ETL大数据工程师面试题

    这部分面试题是用来面试高级ETL工程师的,初中级只需要问sql与kettle工具即可。
    参考:大数据ETL之Kettle基本理论与安装部署



    1. 当数据源与ODS为不同数据库类型时怎么办?

    α 将源数据导出为文本文件,再将文件导入ODS【会增加传输步骤】
    β 如果能建立ODBC连接则直接使用【会对源数据系统造成压力】

    2. 直接连接数据库和使用ODBC连接各有什么优缺点?

    优点缺点
    直连(PL/SQL、COBOL等)运行性能高通用性差
    ODBC性能差灵活性(不同数据库只需要换驱动)

    3. ETL过程中基于安全考量,你觉得哪些步骤应该写到磁盘上?

    *Staging Area(数据准备区)的每一步都要写到磁盘上
    例如:连接源系统数据抽取阶段,将抽取的数据保存到数据准备区(类似于ODS),而不是不让数据落地。

    4. 有哪些方式实现增量抽取?

    增量机制支持类型数据完备抽取性能源系统影响实现难度
    1.触发器RMDB容易
    2.时间戳RMDB,表具有时间字段较优很小容易
    3.全表对比RMDB;文本格式一般
    4.日志表RMDB容易

    5. 怎么评估大型ETL任务的数据加载时间?

    数据加载分两大类,一个是初次全量加载;另一类是增量加载
    全量加载:
    α.分为抽取、转换、加载三部分,然后时间加起来
    β.按数据总量的10%处理任务,然后总时间*10
    增量加载
    α.可参考全量加载,但是因为增量数据量少,分析更容易
    β.参考上一次增量的时间直接评估(增量每天/次的数据量是差不多的)

    6. 举例说明一下ETL中有哪些元数据?

    业务元数据:业务角度对数据的描述
    技术元数据:技术角度对数据的描述,如数据类型、长度
    过程处理元数据:ETL处理过程中的统计数据,如加载总记录数、失败总记录数

    7. 你工作中有哪些方法验证ETL数据质量?

    α.校验每天的记录数【>0】
    β.Null和0的校验【null和0的记录总数不能超过当日新增的99%】
    γ.每天新增记录的波动范围【范围可控】
    δ.重复记录数校验【不可能两条数据完全一样】
    ε.数据时间校验【数据采集时间小于当前时间】

    8. ETL运行慢,可以从哪些方面进行分析?

    α.CPU、内存、I/O、网络
    β.代码导致的运行慢,隔离不同的操作逐步分析
    隔离并执行抽取查询语句
    去掉过滤条件
    排除查找表的问题
    分析排序和聚合操作
    隔离并分析每一个计算和转换
    隔离更新策略
    检测加载数据的数据库I/O

    展开全文
  • ETL工程师笔试题

    千次阅读 2019-09-29 13:40:53
    1、参考答案 1)建表 CREATE TABLE `ta` ( `id` int(11) NOT NULL AUTO_INCREMENT, `cx` varchar(20) DEFAULT NULL, `qy` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_I...

     

     

     

     

     

    1、参考答案

    1)建表

    CREATE TABLE `ta` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `cx` varchar(20) DEFAULT NULL,
      `qy` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

    CREATE TABLE `tb` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `cx` varchar(20) DEFAULT NULL,
      `qy` varchar(20) DEFAULT NULL,
      `jg` int(11) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

    CREATE TABLE `tc` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `cx` varchar(20) DEFAULT NULL,
      `qy` varchar(20) DEFAULT NULL,
      `jg` int(11) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;

    存储过程:

    DROP PROCEDURE IF EXISTS `query_a_and_b`;
    DELIMITER ;;
    CREATE PROCEDURE query_a_and_b() READS SQL DATA
    BEGIN
        DECLARE cxc varchar(20);
        DECLARE qyc varchar(20);
        DECLARE jgc INT;
        DECLARE s INT DEFAULT 0 ;
        DECLARE consume CURSOR FOR SELECT cx,qy,jg FROM tb;
    -- DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET num = 1;
        DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1;
        OPEN consume;
            FETCH consume into cxc,qyc,jgc;
            while s <> 1 DO
                if(qyc='全国')THEN
    INSERT INTO tc(cx,qy,jg)
    SELECT a.cx,b.qy,a.jg from tb a left JOIN ta b on b.cx=a.cx WHERE b.cx=cxc;
     ELSEif(qyc='其他')THEN
    INSERT INTO tc(cx,qy,jg)
    SELECT a.cx,b.qy,a.jg from tb a left JOIN ta b on b.cx=a.cx  WHERE a.qy=qyc and b.qy not in (
    select t.qy from tb t WHERE t.cx=b.cx
    );
    ELSE
    INSERT INTO tc(cx,qy,jg)
    SELECT a.cx,a.qy,a.jg from tb a WHERE a.cx=cxc and a.qy=qyc;
     END IF;
                FETCH consume into cxc,qyc,jgc;
            END WHILE;
        CLOSE consume;
    END;;
    DELIMITER;

    CALL query_a_and_b();

    结果:

    2、参考答案

    借用1题表tb,数据如下:

    sql如下:

    第一种:

    CREATE VIEW view_name AS
    SELECT a.COHEV,b.REIZ,a.jg from
    (select
    (case when cx = 'COHEV' then qy end) as COHEV,
    jg
    from tb) a JOIN  
    (select
    (case when cx = 'REIZ' then qy end) as REIZ,
    jg
    from tb) b  on a.jg = b.jg
    WHERE a.COHEV is not null AND b.REIZ is not null
    第二种:
    select max(COHEV) COHEV,max(REIZ) REIZ,jg from
    (select
    (case when cx = 'COHEV' then qy end) as COHEV,
    (case when cx = 'REIZ' then qy end) as REIZ,
    jg
    from tb)b GROUP BY jg;

     

    欢迎指正

    未完待续。。。。

     

    转载于:https://www.cnblogs.com/XiaoyangBoke/p/11232137.html

    展开全文
  • ETL数据仓库工程师笔试题和面试题整理

    万次阅读 多人点赞 2020-05-01 01:08:22
    [这个人怎么那么多面试题] 如何排重(考察sql),就是group by xxx having count(1)>1。 shell的一些基本命令,如tail、seed、crontab等 如如何查看文件第几行?如何动态查看文件?如何查询文件关键字等等。 还有...

    摘自网络的一些ETL笔试和面试题,希望对大家有帮助,欢迎补充答案,谢谢

    1. 如何排重(考察sql),就是group by xxx having count(1)>1。
    2. shell的一些基本命令,如tail、seed、crontab等
    3. 如如何查看文件第几行?如何动态查看文件?如何查询文件关键字等等。
    4. 还有就是数据仓库的基本理论,比如怎么分层?
    5. 左右关联的区别
    6. substr和substratring的区别,说真的这题面试官给我整蒙了,很确定,他反复问我确不确定。。。。很调皮了
    7. 之前用的etl和bi工具
    8. 常用的linux命令
    9. 最快什么时候能入职
    10. 在这个岗位上,你认为你会面临的最大挑战是什么
    11. 你对我们公司有什么了解
    12. 你的优点是什么,周围人如何评价你的
    13. Mr的过程

    在这里插入图片描述一 .选择题 (每题 1分)
    1、在sql的查询语句中,用于分组查询的语句是( C )。
    a)order by b)where c)group by d)having

    2、在“学生情况.dbf”表中,查询计算机专业、助学金大于40元的学生的姓名,正确的语句是( C )。
    a)select 姓名 from 学生情况 where 计算机 .and.助学金<40
    b)select 姓名 from 学生情况 where 专业=“计算机”.or.助学金>40
    c)select 姓名 from 学生情况 where 专业=“计算机”.and.助学金>40
    d)select 姓名 from 学生情况 where 专业=“计算机”.and.助学金<40

    3、下列sql语句中,修改表结构的是( A )。
    a)alter b)create c)desc d)rename

    4、已知职工表emp有工号e_no和工资e_sal两个字段。从职工关系中检索所有工资值,要求在输出结果中没有重复的工资值,则sql的命令语句能实现上述功能的是( B )。
    a)select all e_sal from emp
    b)select distinct e_sal from emp
    c)select e_sal from emp
    d)select e_sal where emp

    5、请选出属于dml的选项( C )
    a) truncate b)creat c)delete d)commit

    6、视图的数据存放在哪里( A )
    a.数据库的表中    b.数据字典的select语句中
    c.from列表的第一个表格的select语句中 d.列表的第二个表格的select语句中

    7、当fetch执行失败时,哪种游标的属性值为true( C )
    a.%isopen b.%found c.%notfound d.%rowcount

    8、下列那些说法是正确的( BD )
    a) 一个事务中的某条sql命令提交时,其它sql命令可以不提交。
    b) 在一个关系表中,主键可唯一标识一行记录。
    c) 一个关系表中的外键必定是另一表中的主键。
    d) 回滚可以在事务失败时,回到操作事务前的数据状态。

    9、假如一个变量的值为null,有一条if语句,
    if变量=null
    分支1
    else
    分支2
    请问最终执行的结果是( B )
    a) 分支1 b)分支2 c)系统错误提示 d)都没有执行

    10、关于主键(primary key)和唯一索引(unique index)的说法哪些是错误的?( C )
    a、 唯一索引的列允许为null值
    b、 主键的列不允许为null值
    c、 一个表只能有一个唯一索引

    三 简答题(或者上机) (前3题每题10分,4题每问6分)
    1)不借助第三方工具查看执行计划
    1、使用Explain Plan,查询PLAN_TABLE;
    EXPLAIN PLAN
    SET STATEMENT_ID=‘QUERY1’
    FOR
    SELECT *
    FROM a
    WHERE aa=1;
    SELECT operation, options, object_name, object_type, ID, parent_id
    FROM plan_table
    WHERE STATEMENT_ID = ‘QUERY1’
    ORDER BY ID;
    2、SQLPLUS中的SET TRACE 即可看到Execution Plan Statistics
    SET AUTOTRACE ON; 包含执行计划和统计信息

    2)格式转换
    学生 科目 成绩
    student1 语文 80
    student1 数学 70
    student1 英语 60
    student2 语文 90
    student2 数学 80
    student2 英语 100

    将上述表结构信息转换为一下格式
    学生 语文 数学 英语
    student1 80 70 60
    student2 90 80 100
    select T1.学生 as 学生, T1.成绩 as 语文,T2.成绩 AS 数学,T3.成绩 AS 英语 FROM 表 T1, 表 T2,表 T3 WHERE T1.学生 = T2.学生 AND T1.学生 = T3.学生 AND T1.科目 = ‘语文’ AND T2.科目 = ‘数学’ AND T3.科目 = ‘英语’

    3)树形展示
    RID RNAME PID ISLEAF ALEVEL
    1 1 IT课程 0 0 0
    2 2 开发类 1 0 1
    3 3 Shell编程 2 1 2
    4 4 C# 2 1 2
    5 5 Oracle 2 0 2
    6 6 pl/sql 5 1 3
    7 7 维护类 1 0 1
    8 8 Linux维护 7 1 2
    9 9 JAVA 2 0 2
    10 10 JSP 9 1 3
    isleaf 0非叶子节点(下面还有数据) 1叶子节点(下面没有数据)
    alevel 为第几节点 0 为根节点
    将上述能容以树形结构显示
    IT课程
    开发类
    Shell编程
    C#
    Oracle
    pl/sql
    JAVA
    JSP
    维护类
    Linux维护

    答 :
    –标准答案
    select * from temp t start with t.RID = ‘1’
    connect by prior t.PID = t.RID;
    –如果连续用可以用这个
    select case ALEVEL when 0 then ‘’ when 1 then ’ ’ when 2 then ’ ’ when 3 then ’ ’ end||t.RNAME from temp t
    order by to_number(RID) ;

    4)sql 编程
    EMP 表
    EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
    1 7369 SMITH CLERK 7902 1980-12-17 800.00 20
    2 7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
    3 7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30
    4 7566 JONES MANAGER 7839 1981-4-2 2975.00 20
    5 7654 MARTIN SALESMAN 7698 1981-9-28 1250.00 1400.00 30
    6 7698 BLAKE MANAGER 7839 1981-5-1 2850.00 30
    7 7782 CLARK MANAGER 7839 1981-6-9 2450.00 10
    8 7788 SCOTT ANALYST 7566 1987-4-19 3000.00 20
    9 7839 KING PRESIDENT 1981-11-17 5000.00 10
    10 7844 TURNER SALESMAN 7698 1981-9-8 1500.00 0.00 30
    11 7876 ADAMS CLERK 7788 1987-5-23 1100.00 20
    12 7900 JAMES CLERK 7698 1981-12-3 950.00 30
    13 7902 FORD ANALYST 7566 1981-12-3 3000.00 20
    14 7934 MILLER CLERK 7782 1982-1-23 1300.00 10

    DEPT 表
    DEPTNO DNAME LOC
    1 10 ACCOUNTING NEW YORK
    2 20 RESEARCH DALLAS
    3 30 SALES CHICAGO
    4 40 OPERATIONS BOSTON

    1.每组工资最高的人的资料
    SELECT * FROM EMP T WHERE T.SAL IN (SELECT MAX(SAL) FROM EMP GROUP BY DEPTNO)

    select e.* from emp e,(select deptno,max(sal) ssal
    from emp group by deptno) m
    where e.deptno=m.deptno and e.sal=m.ssal;

    2.每个部门中低于本部门平均工资的人
    SELECT * FROM EMP T WHERE T.SAL < (SELECT AVG(SAL) FROM EMP GROUP BY DEPTNO)

    3.查看工资最高的人第4-8人
    SELECT * FROM (SELECT ROWNUM AS NUM ,* FROM (SELECT * FROM EMP ORDER BY SAL DESC) T) WHERE NUM>=4 AND NUM <=8

    4.不用组函数求薪水最高
    SELECT ROWNUM ,* FROM (SELECT * FROM EMP ORDER BY SAL DESC) T) WHERE ROWNUM = 1

    5.直属领导下大于2名员工的人
    SELECT * FROM EMP WHERE MGR IN
    (SELECT MGR FROM EMP GROUP BY MGR HAVING COUNT(*) > 2)

    作者:沫沫妞 哟
    来源:CSDN
    原文:https://blog.csdn.net/weixin_42800008/article/details/84257715
    版权声明:本文为博主原创文章,转载请附上博文链接!

    http://tieba.baidu.com/p/3085643891?fr=ala0&pstaala=2
    《亲历数据库开发笔试面试题汇总,献给即将毕业的学弟学妹》

    https://blog.csdn.net/oversky2003/article/details/6609017

    在这里插入图片描述

    展开全文
  • 大数据工程师ETL面试系列(1)

    万次阅读 多人点赞 2017-03-19 14:19:12
    我:小于等于A表条数,也就是小于等于3条 补:现在看来,当时陷入了工作中带来的一个误区,就是面试官可没说join的字段是主键,它可以不唯一哈,不唯一就会导致大于3条,因为有重复,而B表记录不足的地方均为NULL,...

    #1. 你觉得Spark和Hadoop的区别是什么,请简要说一说?
    :Hadoop适合离线分析,是批处理;Spark适合实时分析,是近实时流,微批处理。

    #2. 你觉得Python和Java在使用起来,有什么区别?
    :其实自己在平时使用的时候,并没有过度割裂开这两种,因为毕竟自己是结果导向所以无论Python的缩进格式还是Java的要加逗号,最后可以实现我的需求就可以了。
    :如今,再来审视这个问题,会发现其实在使用过程中,Python,Java确实有一些需要你拐个弯注意下的,比如【Python】list的remove函数和【Java】list的remove方法,同名异能。以及Python一些轮子如何用Java去实现也是要注意的。

    #3. 给你两张表,表A和表B,其中表A有3条数据,表B有5条数据,问:表A left join 表B后有几条?
    :小于等于A表条数,也就是小于等于3条
    :现在看来,当时陷入了工作中带来的一个误区,就是面试官可没说join的字段是主键,它可以不唯一哈,不唯一就会导致大于3条,因为有重复,而B表记录不足的地方均为NULL,所以可能小于吗?不信客官你看:
    例1
    A表的记录数在B表中全都有且B表id唯一
    A表数据

    B表数据

    A left join B

    例2
    A表的记录在C表中有缺失但C表记录唯一

    A表数据

    C表数据

    A left join C

    例3
    A表的记录在D表中全都有但D表id不唯一

    A表数据

    D表数据

    A left join D

    所以正解应该是大于等于A表的条数

    展开全文
  • 第一天来到新公司的volg (ETL开发工程师) 新的改变 首先自我介绍一下,我是一名刚刚大学毕业的程序猿,在大学完了两年,到最后大三一年才开始认真的去学习编程的各种知识,开源框架,看视频代码。现在是大数据时代...
  • 2020数据工程师面试题库

    千次阅读 2020-09-27 10:57:18
    数据工程师面试问题是面试准备过程的主要组成部分。但是,如果要最大程度地获得数据工程师职位的机会,则还必须知道数据工程师面试过程将如何进行。    本文旨在帮助您放心地浏览数据架构师的采访情况。这是...
  • 总体来说遇到的水平不一,于是经过这三年多的面(cui)试(can),总结了一套自己的面试套路,中间也遇到过很多想吐槽的东西,于是大概记录了下来。在后面, 也写了些关于这方面的职业发展和我个人的建议。 问题很基础...
  • 这是我的第19篇原创网上很多ETL工程师很焦虑,不知道之后的职业道路怎么规划。其实我们需要先内圣,而后外王。ETL的工作很枯燥,但是一样可以总结出非常多的内容。ETL工程师往技术方向可以走...
  • ETL架构师面试题目

    2013-12-19 09:33:25
    ETL架构师必须掌握的知识,对希望从事ETL架构开发的工程师有用!
  • ETL开发面试题集

    万次阅读 多人点赞 2018-03-13 09:28:00
    ETL讲解(很详细!!!) ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节...
  • ETL 面试常见问题

    万次阅读 多人点赞 2014-08-07 15:56:21
     在常规的数据流传递途径上,第三种方式不经常出现,相反,他们经常是一种ETL 团队成员间口头上执行决定     3.  分区表 范围分区表; 列表分区表 ;哈希分区表;组合分区表 范围分区表: 一般是...
  • 常见etl面试题目

    千次阅读 2013-03-24 21:12:39
     ETL都包括那些组成部分(工作流和数据流,数据流包括若干组件处理ETL的各个环节)   用过什么报表工具(bo,hyperion,congo,reporing servce),以及该工具基本特点。   数据仓库项目最重要或需要注意的是什么,...
  • 用于对数据库初级人员进行面试题。主要是考察sql基础知识的掌握。
  • 数据的分析和整理已经获得了巨大的潜在市场,因此为了使得这个过程更为简单,越来越多的软件供应商引入了ETL测试工具。目前,有需要开源的ETL工具,供应商允许用户直接从他们的官方网站免费下载,但有可能升级到新版...
  • kettle 使用中的一些常见问题 问题1: 从excel 中抽取数据,插入到oracle 9 数据库中,报下面的错误. 2008/06/25 13:30:57 - 插入更新数据表.0 - Insert row: ![field1=1.3965E8, field2=1,798, field3=2002/05/27 00:...
  • 例如,在数据抽取阶段,我们需要连接到源系统,为了对源系统的影响尽量小,我们需要将抽取的数据保存成文本文件或者放入数据准备区的表中,这样,当ETL过程出现错误而失败时,我们就可以从这些文本文件开始ETL,而不...
  • 导语上一篇文章,我们简单介绍了数据收集的基础知识,那么数据收集到之后,我们该怎么去做下一步的处理呢?本篇文章,我们将来重点介绍下ETL工程的作用、原理和实现过程,期望能对大家理解数据分析体...
  • ETL架构师面试题(中文)

    千次阅读 2016-09-01 12:52:47
    本部分的题目来自Kimball的ETL Toolkit著作,原著未直接给出答案。这里的中文题目和答案是我参考其原著按自己的理解整理而来的,仅供参考。对于其中不确切的地方,欢迎大家一起沟通。有兴趣的朋友可以直接阅读原著。...
  • Spring面试高频问题 SpringMVC面试高频问题 MyBatis面试高频问题 SpringBoot面试高频题 SpringCloud面试高频问题 Redis高级面试题 Dubbo高频常问面试问题 Java虚拟机(JVM) MySQL数据库高频面试问题 Java...
  • 请大佬们指导一下,面试etl开发工程师需要掌握什么内容呀,目前在自学,心里没大有底~</p>
  • ETL架构师面试题(八)

    千次阅读 2015-04-29 16:11:35
     随着数据仓库技术的逐步成熟,企业对数据仓库的时间延迟有了更高的要求,也就出现了目前常说的实时ETL(Real-Time ETL)。实时ETL是数据仓库领域里比较新的一部分内容。  在构建实时ETL架构的
  • IBM ETL面试

    千次阅读 2012-09-04 22:48:40
    1.JOIN和LOOKUP的区别? ...总的来说,面试我觉得还算是可以的,接下来就看IBM的人怎么看我的情况了.希望我能打上一个IBM的标识..也是我工作中的一个长足的进步吧.希望….希望….希望着……期待
  • ETL工作经验分享(1)

    千次阅读 2020-06-14 20:59:41
    ETL工程师是典型的“越老越值钱”,真正能设计出好的ETL工作流的工程师,对整个业务数据有非常好的了解,能够综合考虑当前的数据和最终终端呈现出报表的结果,做出一个最良好的设计。这一点是非常难以做到的,需要...
  • 数据仓库工程师面试

    千次阅读 2020-12-05 22:12:49
    一.数据库开发 1.Oracle数据库,视图与表的区别? 表是作为oracle数据库存储数据的一种数据结构,视图是从已存在表上抽出逻辑相关的数据集合,其本身和表的区别不大,都是对数据一种存储,只不过我们可以在已有...
  • 首先介绍下公司的面试流程,包括两轮面试,第一次是了解工作经历,然后给出一个写方案的题目,第二次面试是给项目经理和销售讲解方案。 面试题目如下 背景: 河北某市要建设智慧城市,请向用户介绍我公司能够为用户...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,267
精华内容 506
关键字:

etl工程师面试