报表开发工程师面试准备 |
您所在的位置:网站首页 › 帆软测试工程师面试问题 › 报表开发工程师面试准备 |
现在也没搞明白报表开发工程师是做什么的,明天上午就要面试了,先按照职位描述的内容进行复习。 了解hadoophadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。 Hadoop的框架最核心的框架设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce为海量数据提供了计算。 HDFSHDFS采用master/slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。HDFS暴露了文件系统的名字空间,用户能够以文件的形式在上面存储数据。从内部看,一个文件其实被分成一个或多个数据块,这些块存储在一组Datanode上。Namenode执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录。它也负责确定数据块到具体Datanode节点的映射。**Datanode负责处理文件系统客户端的读写请求。**在Namenode的统一调度下进行数据块的创建、删除和复制。 集群中单一Namenode的结构大大简化了系统的架构。Namenode是所有HDFS元数据的仲裁者和管理者,这样,用户数据永远不会流过Namenode。 MapReduce由一台机器作为Master,其他机器作为Slave,因为这些计算单元同时工作,所以也就出现了“集群”的概念。Master作为任务调度者,给多个Slave分配计算任务(Map),最后由Master汇集结果(Reduce),这其实也MapReduce思想所在。 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReuduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。 熟练掌握SQL学习的时候,sql就学得很浅薄,不知道这次面试能不能通过了,只能尽力复习。对于数据报表开发来说,存储过程很重要,首先简单复习一下数据库的存储过程。 对于存储过程的复习主要参照这篇文章。 存储过程(procedure) 是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程可以包括逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。 由于存储过程在创建时就在服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。在调用时只需要提供存储过程名和必要的参数名。 创建一个存储过程的例子。 我们需要CREATE PROCEDURE语句创建一个存储过程,接着补充存储过程的代码,如果存储过程接受参数,需要被包括在名称后。 ```sql create PROCEDURE myStoredProcedure AS #或者 create PROCEDURE myStoredProcedure @{Parameter Name} {data type} AS一个更加详细的例子(真心觉得一些简单的例子是快速上手的捷径,对简单的例子进行模仿即能快速实现突破)。 ```sql create PROCEDURE LatestTasks @Count int AS SET ROWCOUNT @Count SELECT TaskName AS LastestTasks, DateCreated FROM Task ORDER BY DateCreated DESC上面已经建立好存储过程,如何执行它呢?可以执行或者调用EXEC,如果存储过程要求提供参数,将参数放在程序名的后面。 ```sql EXECUTE LatestTasks EXEC LatestTasks EXEC LatestTasks @Count = 5修改存储过程的例子。 如果需要修改现有的存储过程,只需要换掉CREATE,使用ALTER。 ```sql ALTER PROCEDURE LatestTasks @Count int AS SET ROWCOUNT @Count SELECT TaskName AS "Lastest Tasks", Description,DateCreated FROM Tasks ORDER BY DateCreated DESCSQL Server 系统存储过程 SQL Server包含了大量的系统存储过程,以帮助数据库管理任务。通过GUI执行的任务可以通过系统存储过程来完成。 配置安全账户建立链接服务器创建一个数据库维护计划建立全文检索目录添加远程登录配置复制配置调度作业等 SQL server命名约定 命名规则要保持一致,这样才会在需要使用存储过程时显得更加容易使用。 SQL 性能调优性能调优的基础知识主要参照这篇文章浅谈SQL性能调优。 性能调优的目的主要有以下两点: 第一,优化响应时间。经过调优后,执行查询、更新等操作的时候,数据库的反应速度更快,花费的时间更少。加索引是最典型也是最廉价的优化手段。 第二,优化吞吐量。 比较常见的手段,通过降低事务隔离级别(一定程度地牺牲数据一致性等),这种“软手段”通常会起到很好的效果。其次,单台DB Server达到一定的瓶颈后,可以通过“集群”等方式,实现请求的“负载均衡”,来达到“抗并发”的目的。 个人觉得可以了,再找一本数据库原理的书看一看,然后睡觉,准备明天的面试。会更新后续的,因为没有在网上找到数据报表开发的相关职位描述,面试过后会总结一下经验供大家参考。 更新:面试已经结束,没有通过。自己业务能力不行,和岗位不匹配,因为没有接触hive、hadoop等大数据管理技术,SQL语言掌握的也不熟练。但是YY的实习生面试直接是部门主管面,HR简单的了解一下实习时间。所以整体还是很高效的。感谢我的朋友们,一直鼓励我边学边找实习,能够看到很多不同的事物。继续努力!!! |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |