摘要: https://blog.csdn.net/mtj66/article/details/78966080 NameNode 主备切换主要由 ZKFailoverController、HealthMonitor 和 ActiveStandbyElector 这 3 个组件来协同实现: ZKFailov 阅读全文
posted @ 2020-03-09 17:13 再见傅里叶 阅读(208) 评论(0) 推荐(0) 编辑
摘要: Greenplum提供称为“多态存储”的灵活存储方式。多态存储可以根据数据热度或者访问模式的不同而使用不同的存储方式。一张表的不同数据可以使用不同的物理存储方式, 支持的存储方式包含: 行存储:行存储是传统数据库常用的存储方式,特点是访问比较快,多列更新比较容易。 列存储:列存储按列保存,不同列的数 阅读全文
posted @ 2020-03-09 16:31 再见傅里叶 阅读(653) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/lierming__/article/details/79007340 主要有逻辑存储结构与物理存储结构、以及两者之间的联系 阅读全文
posted @ 2020-03-09 16:30 再见傅里叶 阅读(113) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/OiteBody/article/details/80595971 阅读全文
posted @ 2020-03-09 15:36 再见傅里叶 阅读(406) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/mzq123/p/11033238.html 阅读全文
posted @ 2020-03-09 15:33 再见傅里叶 阅读(88) 评论(0) 推荐(0) 编辑
摘要: https://www.jianshu.com/p/ebbb148e5fd6 阅读全文
posted @ 2020-03-09 15:17 再见傅里叶 阅读(104) 评论(0) 推荐(0) 编辑
摘要: https://www.jianshu.com/p/736a4e628f0f 1.1 窄依赖 窄依赖是指1个父RDD分区对应1个子RDD的分区。换句话说,一个父RDD的分区对应于一个子RDD的分区,或者多个父RDD的分区对应于一个子RDD的分区。所以窄依赖又可以分为两种情况: 1个子RDD的分区对应 阅读全文
posted @ 2020-03-09 15:06 再见傅里叶 阅读(2219) 评论(0) 推荐(0) 编辑
摘要: Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、notify(),使用Condition的await()、signal()这种方式实现线程间协作更加安全和高效。因此通常来说比较推荐使用 阅读全文
posted @ 2020-03-09 15:03 再见傅里叶 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 在Scala中存在case class,它其实就是一个普通的class。但是它又和普通的class略有区别,如下: 1、初始化的时候可以不用new,当然你也可以加上,普通类一定需要加new; 2、toString的实现更漂亮; 3、默认实现了equals 和hashCode; 4、默认是可以序列化的 阅读全文
posted @ 2020-03-09 15:01 再见傅里叶 阅读(798) 评论(0) 推荐(0) 编辑
摘要: Terms Aggregation 的计算方式主要有以下两种: map,在内存中构建映射表,利用映射表完成聚合计算,可以看得出,这种方式会比较消耗内存。 global_ordinals,每个桶都会有一个全局序列号,也就是指定域中的唯一值都会有一个全局序列号,根据这个序列号完成相关的聚合过程。计算过程 阅读全文
posted @ 2020-03-09 09:53 再见傅里叶 阅读(3008) 评论(0) 推荐(0) 编辑
摘要: 1 查询上下文中,查询操作不仅仅会进行查询,还会计算分值,用于确定相关度;在过滤器上下文中,查询操作仅判断是否满足查询条件 2 过滤器上下文中,查询的结果可以被缓存。 阅读全文
posted @ 2020-03-09 09:51 再见傅里叶 阅读(989) 评论(0) 推荐(0) 编辑