Revisit Join
Join[连接]是数据库查询最重要的操作,应该没有之一,主要用于连接两个以上的表并获得对应的结果。Join可以从类型和算法实现两个角度理解。
Pull-based vs Push-based Query Engine
数据库的查询引擎[Query Engines]有两种查询方式,Push-based和Pull-based。
Hadoop Deployment [部署Hadoop]
本文记录了部署Hadoop的具体步骤,因为感觉以前每次部署都是Google一下,这回记录一下。这里使用Hadoop-2.10.2版本的standalone mode
作为例子。
Python Property Decorator [Python的Property装饰器]
本文介绍一个python常用的装饰器Property,其主要作用就是解决python class的属性的setter和getter,和类属性保护的问题。
Shell Expect [自动交互脚本Expect]
在开发过程中,编译部署都是无法避免的步骤,但是在调试时,需要重复地进行编译部署,如果这个过程复杂,那就更加耗时费力。重复劳作是枯燥的,所以大多数情况下,我们可以使用expect来进行自动化交互过程,从而自动化整个编译和部署过程。
Understanding of Spark Structured Streaming Execution via Source Code [通过源码理解Spark的结构化流执行]
Spark 2.0引入了更高级别的新的流处理API,叫做Structured Streaming[结构化流]。本文通过Spark的源代码来理解具体的Structured Streaming的执行过程。本文使用的是Spark 2.4.0的源代码。Structured Streaming相关的源代码存在于sql
文件夹中。
Understanding and Installing Nvidia Docker [Nvidia Docker 介绍和安装]
如前文所述,Docker是一个轻量级的容器,将应用程序,第三方库,数据文件和环境放在一起使用户可以最大程度使用宿主机的硬件。Docker容器是平台无关[platform-agnostic]和硬件无关[hardware-agnostic],这说明Docker对于一些通用的硬件已经有很好的支持,但是当使用特殊的硬件,如NVIDIA GPUs时,这就产生了一个问题,这些硬件需要内核模块和用户级库来操作,也就是我们常说的驱动程序。