摘要: 事实上"把小表放在前面做关联可以提高效率"这种说法是错误的。正确的说法应该是"把重复关联键少的表放在join前面可以提高join的效率"。 https://www.cnblogs.com/bgh408/p/11646286.html http://blog.sina.com.cn/s/blog_6f 阅读全文
posted @ 2020-07-29 15:05 hulifang 阅读(2113) 评论(0) 推荐(0) 编辑
摘要: HBase和Redis的功能上比较相似。都是nosql类型的数据库。但是在适用场景上,两者还是有比较明显的区别的。1)读写性能 HBase写快读慢,HBase的读取时长通常是几毫秒,而Redis的读取时长通常是几十微秒。性能相差非常大。2)数据类型HBase和Redis都支持KV类型。但是Redis 阅读全文
posted @ 2020-07-29 10:03 hulifang 阅读(2001) 评论(0) 推荐(0) 编辑
摘要: 1)数仓项目需求分析:1.实时采集埋点的用户行为数据(埋点数据一般采集的是用户行为数据)2.实现数据仓库的分层搭建3.每天定时导入业务数据(业务数据:订单,注册,登录等数据)4.根据数据仓库中的数据进行报表分析 数据产生的来源: 数据来源: (1)埋点用户行为数据:用户在使用产品过程中,与客户端产品 阅读全文
posted @ 2020-07-21 16:16 hulifang 阅读(2251) 评论(0) 推荐(0) 编辑
摘要: kafka中的ISR和ack=-1保证了kafka数据的最大可靠性 https://blog.csdn.net/zhaoyachao123/article/details/89527233 1)kafka的producer的send方法是异步的,当调用send方法提交一条记录到缓冲区之后,立即被返回 阅读全文
posted @ 2020-07-20 17:50 hulifang 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 1)dataframe和dataset区别: DataFrame 每一行的类型固定为 Row,每一列的值没法直接访问,只有通过解析才能获取各个字段的值 DataSet是每一行的数据类型不同,DataFrame其实就是DataSet的一个特例,type DataFrame = DataSet[Row] 阅读全文
posted @ 2020-07-13 15:42 hulifang 阅读(129) 评论(0) 推荐(0) 编辑
摘要: spark底层的通信框架: spark作为分布式的计算框架,多个服务器节点进行相互通信。 spark在最初的时候使用akka的内部通信部件。在spark1.3年代为了接近类似shuffle这样的传输问题。引入了netty通信框架。从1.6配置使用akka或者netty。spark2.0开始完全抛弃了 阅读全文
posted @ 2020-07-02 18:03 hulifang 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 1)客户端到底要将请求发送给哪台服务器 2)如果所有客户端的请求发送给了服务器1 3)客户端发送的请求申请的可能是动态资源,也可能申请静态资源。 于是引入了nginx反向代理服务器,实现了负载均衡,实现动静分离。 nginx特点: 稳定性极强,7*24小时不间断运行 nginx提供了非常丰富的配置实 阅读全文
posted @ 2020-07-01 16:15 hulifang 阅读(119) 评论(0) 推荐(0) 编辑
摘要: java api操作kudu存储引擎的代码练习:https://cloud.tencent.com/developer/article/1628164 kudu 定位是一个既支持随机读写、又支持 OLAP 分析的大数据存储引擎。 原数据存储于HDFS或HBase都有优缺点: 直接存放于HDFS中,适 阅读全文
posted @ 2020-06-28 18:04 hulifang 阅读(240) 评论(0) 推荐(0) 编辑
摘要: tcp:面向连接的可靠的传输协议。 三次握手: (1)客户端connect连接到server (2)server accept client的请求之后,向client端发送一个消息,相当于说我都准备好了,你连接上我了。 (3)client向server发送的,就是对第二次握手消息的确认。之后clie 阅读全文
posted @ 2020-06-17 15:08 hulifang 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1.ArrayList底层是基于数据的,对于查询可以快速的定位到元素,对于插入和删除需要数据移动性能较差(底层基于数组,动态扩容) 2.LinkedList底层是基于链表的,对于查询需要遍历链表,性能较差,对于插入和删除只需要修改指针指向即可。 HashMap1.7底层结构是:数组+链表 1.8底层 阅读全文
posted @ 2020-06-11 18:15 hulifang 阅读(959) 评论(0) 推荐(0) 编辑