Cloudera Development Kit(CDK) 简介

Cloudera Development Kit(CDK) 简介

guibin.beijing@gmail.com

2013.07.02


CDK简介

CDK(Cloudera Development Kit) 就是一些Cluodera开发的库、工具和文档的集合。CDK这个项目存在的价值在于使得在基于Hadoop生态系统上开发系统更加容易。这个项目是按照模块组织的,模块之间或者独立,或者依赖CDK内的其他模块,但是尽量少的依赖外部项目模块。CDK的文档主页在这里:http://cloudera.github.io/cdk/docs/0.2.0/index.html,项目主页:http://cloudera.github.com/cdk/cdk-data

当前CDK有以下三个模块:

  • CDK Data

CDK Data 模块在存储系统(HDFS)之上提供了逻辑抽象,使得用户能依据“records, datasets, and dataset repositories”这些概念去思考和操作数据。CDK Data的适用场景:如果你正在寻求一种方式 直接向存储系统中读/写数据记录,那么CDK Data应该就是你想要的。CDK Data 提供了操作Cloudra平台中数据集的简单、直观的API。换句话说,CDK Data所处的位置比 Hadoops input/output formats API低一个等级,比标准的HDFS+AVRO API高一个等级。

  • CDK Example
CDK Example提供了一些例子用于学习和适用CDK。
  • CDK Tools
CDK Tools提供了命令行公斤和API用于操作CDK的公共功能。

源代码

CDK的源代码地址: https://github.com/cloudera/cdk

为什么要用CDK Data而不使用HDFS提供的API直接操作HDFS?

HDFS确实提供了用于操作HDFS的API,但是这些API( FSInputStream, FSOutputStream)都是面向字节流的,太底层、很不直观。 大多数的开发者更愿意思考更高层次的对象,而不是底层的文件、目录;而且开发者喜欢将表、数据集的概念移植到存储在HDFS上的数据上,因为这样更易于理解。CDK Data就着眼于这个需求,向开发者提供了立即可用的、令人愉快的方式用于操作Hadoop生态系统,并且不损失操作数据的效率。

CDK Data目前已知的局限性

  1. 目前不可以rename dataset。
  2. 当多进程操作数据集时,目前没有锁机制和进程间的协调机制。
  3. 不能确保被FileSystem*实现的writer所生成的文件名是真正唯一的。
  4. 所有的data set都使用Snappy压缩,目前不可以disable压缩或者更换不同的压缩方式。




原文地址:https://www.cnblogs.com/jiangu66/p/3170490.html