Skip to content

Commit 00f430c

Browse files
committed
remove uncessary
1 parent 1320ff0 commit 00f430c

1 file changed

Lines changed: 14 additions & 37 deletions

File tree

大数据工程师.md

Lines changed: 14 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -11,35 +11,12 @@
1111
1. 相对简单的表结构,存储相对松散,多冗数据
1212
2. 一般是只读优化
1313

14-
**2. 什么是知识图谱,简单介绍一下苏格拉底?**
15-
16-
知识图谱:
17-
1. 知识图谱是一种语义网络,是对语义知识的一种形式化描述,节点代表实体,边代表实体之间的关系;
18-
2. 知识图谱以一种可视化的方式展示「知识」;
19-
3. 当你使用 Google 搜索奥巴马时,在右边出现的奥巴马的相关信息,比如奥巴马的妻子,奥巴马的女儿,这就使用到了知识图谱;
20-
21-
苏格拉底:
22-
1. 苏格拉底是提供一站式知识获取、融合、建模、存储、查询等知识图谱全生命周期的管理方案的一个平台;
23-
2. 苏格拉底主要有 数据来源、知识抽取、知识建模、规则引擎、苏格拉底应用几个方面;
24-
3. 苏格拉底后台使用 MongoDB 和 Mysql 数据库主要为了实现 **schema 的快速迭代****数据的快速迭代,配合算法做实体对齐**
25-
26-
**3. 你是如何使用 Spark 管理日志的?**
14+
**2. 你是如何使用 Spark 管理日志的?**
2715

2816
1. 每次对实例的更改,都会把变更记录到 mongo 数据库,形成一个变更记录的collection;
2917
2. 分析数据时,将 mongo 数据库中 collection 的数据使用 Spark 倒入到 Hive 表中,然后再进行分析
3018

31-
**4. 你们公司的业务场景是什么?(针对公司的业务场景,调研市场上主流的图数据库)**
32-
33-
1. 支持倒入 SPO 三元组的数据(包含 schema-free 和 schema-constrained 两类数据库)
34-
2. 对于 schema-free 的数据库,需要对数据库中的数据进行统计、分析、整理出可用的强 schema
35-
3. 图数据库需要支持实体 对齐/融合
36-
4. 图数据库需要支持 ETL 流程,schema-free --> schema-constrained --> 苏格拉底;
37-
5. 数据查询,图数据库时在整个项目中属于底层数据库,不会有直接的业务场景,只需要支持 数据/算法 人员做分析时使用的查询(用 Gremlin 就可以满足需求)
38-
6. 不需要支持 OLTP;OLAP 可以通过 TinkerPop Spark 进行支持,具体场景具体分析,目前需求不高。
39-
40-
基于以上的需求,在调研是重点关注:是否 schema-free? ETL 性能如何? 离线计算能力如何?是否可横向/纵向扩展?
41-
42-
**5. 你在调研图数据库的时候都调研了哪些指标,为什么最后选择了 JanusGraph + Neo4j 这两个数据库?**
19+
**3. 你在调研图数据库的时候都调研了哪些指标,为什么最后选择了 JanusGraph + Neo4j 这两个数据库?**
4320

4421
* 这里的东西需要多补充一下 !!!
4522

@@ -66,13 +43,13 @@
6643

6744
* 这里如果问到,着重讲解一个就可以了。
6845

69-
**6. 深入调研 JanusGraph,ThinkerPop,都得到了哪些成果?(这里面试官可能问到哪些问题?)**
46+
**4. 深入调研 JanusGraph,ThinkerPop,都得到了哪些成果?(这里面试官可能问到哪些问题?)**
7047

7148
1. Gremlin 语法文档总结;
7249
2. 不同数据库对 Gremlin 支持程度的测试;
7350
3. HugeGraph 不能动态支持修改 schema,有些直接报错,因此放弃了 Hu个Graph;
7451

75-
**7. 为什么要有 Spark,他相比 Hadoop 解决了什么问题?**
52+
**5. 为什么要有 Spark,他相比 Hadoop 解决了什么问题?**
7653

7754
1. Spark 替代的 Hadoop 生态中的 MapReduce;
7855
2. MapReduce 在计算时,每次 Reduce 之后都会写入磁盘文件。如果一个任务有多个 Map/Reduce 计算,就会多次读写磁盘文件,大大降低运算速度;
@@ -81,34 +58,34 @@
8158

8259
* Spark 擅长迭代式计算,交互式查询,流处理,批处理(这个 Hadoop 好像也有?);
8360

84-
**8. Spark 弹性体现在哪里?**
61+
**6. Spark 弹性体现在哪里?**
8562

8663
1. 自动的进行内存和磁盘数据存储的切换;
8764
2. 基于 lineage 的高效容错(某处出错,不需要从头开始计算);
8865
3. Task 失败会自动进行特定次数的重试;
8966

90-
**9. Spark 什么时候进行缓存?**
67+
**7. Spark 什么时候进行缓存?**
9168

9269
1. 特别耗时的计算之后;
9370
2. 计算链条已经很长,计算之后;
9471
3. shuffle 之后;
9572
4. checkpoint(checkpoint 就是把所有的数据放到磁盘中) 之前;
9673

97-
**10. 什么是 RDD,什么是 Partition?**
74+
**8. 什么是 RDD,什么是 Partition?**
9875

9976
1. 一个 RDD 是一个只读的,分布式的,被分区的数据集,由多个 partition 构成;
10077
2. RDD 不可变,可以自我恢复;
10178
3. 一个 partition 是一些数据的集合;
10279

103-
**12. 计算模型为什么使用 DAG ?**
80+
**9. 计算模型为什么使用 DAG ?**
10481

10582
1. DAG 是有向无环图,RDD 和 关系构成 DAG,DAG 的顶点代表 RDD,边代表对 RDD 进行的操作;
10683
2. DAG记录 RDD 之间直接的依赖关系,当某个 RDD 出错时,可以通过依赖关系从父 RDD 恢复出错的 RDD,体现了 DAG 良好的容错性;
10784
3. DAG 主要解决了 MapReduce 的两个问题:
10885
* 每个 MapReduce 操作都是相互独立的,HADOOP不知道接下来会有哪些 Map/Reduce;
10986
* 每一步的输出结果,都会持久化到硬盘或者 HDFS 上;
11087

111-
**13. 什么是 shuffle,哪些情况会 shuffle ?**
88+
**10. 什么是 shuffle,哪些情况会 shuffle ?**
11289

11390
1. 把分布在不同节点的数据按照一定的规则汇集到一起的过程,即把数据在不同 partition 之间移动;
11491
2. shuffle 分为:shuffle write,shuffle read;只有产生宽依赖的时候才会 shuffle,shuffle 会写入本地磁盘文件;
@@ -123,11 +100,11 @@
123100
* 父 RDD 的一个 partition 被子 RDD 的多个 partition 依赖;
124101

125102

126-
**14. Stage 的划分依据?**
103+
**11. Stage 的划分依据?**
127104

128105
1. 根据 DAG 图,从后往前推,遇到宽依赖就断开,划分为一个stage;遇到窄依赖就将这个RDD加入该stage中;
129106

130-
**15. Spark 2.0 为什么有了 dataframe,解决了 RDD 的哪些不足?**
107+
**12. Spark 2.0 为什么有了 dataframe,解决了 RDD 的哪些不足?**
131108

132109
1. DataFrame 有 schema,而 RDD 没有 schema;
133110
2. 有了 schema 之后,可以更方便,更高效的对数据进行管理,查询,分析;
@@ -136,7 +113,7 @@
136113
比如:
137114
有了 schema 之后,你可以选择只需读需要的数据,加快 I/O,Hadoop 一般是列存,I/O 快
138115

139-
**16. Hive 是什么,Hive 和 HDFS 的区别?**
116+
**13. Hive 是什么,Hive 和 HDFS 的区别?**
140117

141118
Hadoop 生态:
142119
* HDFS 文件管理系统,可以对比 Windows 的 File Explore;
@@ -146,7 +123,7 @@
146123

147124
Spark ---> Map/Reduce
148125

149-
**17. Mongo 中的数据库级别?**
126+
**14. Mongo 中的数据库级别?**
150127

151128
1. 数据量在不到千万级(400/500 万量),支持直接查询;Mongo 本身提供的功能可以满足当前的需求,查询大多在毫秒级,最多不超过 2s;
152-
2. log 日志在不到亿级(1亿),分析数据使用的是 Spark,怎么读 Mongo 是我们组大神写的,没有深入研究;
129+
2. log 日志在不到亿级(1亿),分析数据使用的是 Spark,怎么读 Mongo 是我们组大神写的,没有深入研究;

0 commit comments

Comments
 (0)