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压缩或者更换不同的压缩方式。




Cloudera Development Kit(CDK) 简介的更多相关文章

  1. 2.2、CDH 搭建Hadoop在安装(安装Java Development Kit)

    第2步:安装Java Development Kit 要安装Oracle JDK,您可以使用Cloudera Manager安装Cloudera提供的版本,也可以直接安装Oracle的其他版本. 继续 ...

  2. FBX Software Development Kit

    FBX Software Development Kit The FBX Software Development Kit (FBX SDK) allows software developers t ...

  3. Data Plane Development Kit (DPDK): Getting Started

    参考:dpdk getting started 系统: Ubuntu 14.04 内核信息: 执行 uname -a Linux chen-VirtualBox 3.13.0-32-generic # ...

  4. eclipse解压后启动弹出A Java Runtime Evironment(JRE) or Java Development Kit(JDK)....

    系统环境:win7 64bit JDK:jdk-7u79-windows-x64 Eclipse:eclipse-jee-helios-win32 启动eclipse:弹出A Java Runtime ...

  5. ubuntu myeclipse 启动时提示 A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail ....

    jdk已经安装过但是启动eclipse时提示“A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be avail  ...

  6. How to install JDK (Java Development Kit) on Linux

    This tutorial will guide you on how to install JDK (Java Development Kit) on Linux. Since I use Cent ...

  7. Linux 下报错:A Java RunTime Environment (JRE) or Java Development Kit (JDK) must解决方案

    一.报错环境:在Linux mint下,前几天还用得很好的的eclipse,今天开机不知为什么这样. Linux 下报错:A Java RunTime Environment (JRE) or Jav ...

  8. Java(TM) SE Development Kit 6 卸载不掉怎么办

    错误描述:Java 安装时断电,再次安装java时,提示“您的电脑上已经安装了此软件.是否要重新安装”,点“是”后出现“内部错误2753:RegUtils”,点“确定”又出现上述提示. 解决办法 :使 ...

  9. Linux 下安裝 Java SE Development Kit(JDK)並配置環境變量

    下載頁面:http://www.oracle.com/technetwork/java/javase/archive-139210.html 打開“Java SE 7”,再打開“Java SE Dev ...

随机推荐

  1. 三星GT-S7572换屏幕教程

    家里人手机被摔坏了,尽管不是什么值钱的手机.可是自从上了大学之后,就一直认为赚钱真的非常不easy,不到逼不得已,就不要乱花钱.于是,就从淘宝上买了外屏.以下是我在淘宝上的链接:点击打开链接.好不ea ...

  2. C语言库函数大全及应用实例三

    原文:C语言库函数大全及应用实例三 [编程资料]C语言库函数大全及应用实例三 函数名: ecvt 功 能: 把一个浮点数转换为字符串 用 法: char ecvt(double value, int ...

  3. 打印Ibatis最后,SQL声明

    做项目时,满足这一需求.我们希望最终打印出在数据库运行SQL声明,这些都普遍遇到了一些一般性问题.我会去Appfuse,结果这次没有成功.它是有相关的配置,可是好像没实用.我也就没有深查下去.我想这种 ...

  4. PhpStorm创建Drupal模块项目开发教程(4)

    编码器是一个检查和操纵代码的Drupal-specific工具. 探测器则是发现异常代码,通常被用于开发中的编码错误预警. 接下来将介绍编码器与探测器在PhpStorm中整合工作的各个步骤,实现PHP ...

  5. ubuntu下的apache+php+mysql的安装

    平时我都时在windows下搭配apache+php+mysql环境的,只不过后来听别人说在linux下搭配apache+php+mysql更受欢迎,而且一般公司也是用这样的搭配,所以今天在试着在ub ...

  6. .Net编译之AnyCPU - 进阶者系列 - 学习者系列文章

    Visual Studio是一款非常强大的IDE工具,它为我们提供了强大的编码.调试和测试等工具,为我们编好.NET软件提供了强大的支持. 今天早晨想到了Visual Studio编译模式中的CPU类 ...

  7. Node填坑教程——整理文件

    如果你能把所有代码写进一个文件,并且能很好的管理.协调.多人开发.那么可以跳过这期(请务必带我飞). 我们接着完善上期的代码,给代码分家. node并没有启动入口,更没有固定的项目结构,文件配置.这些 ...

  8. 封装ReaderWriterLockSlim

    封装ReaderWriterLockSlim ReaderWriterLockSlim 类 表示用于管理资源访问的锁定状态,可实现多线程读取或进行独占式写入访问. 使用 ReaderWriterLoc ...

  9. Linux : fedora 安装 vnc server

    Linux配置VNC服务 安装VNC服务端 #yum install vnc-server 配置VNC服务参数文件 编辑vncservers文件追加如下 #vi /etc/sysconfig/vncs ...

  10. 交叉编译和使用HTOP

    1.什么是htop htop来源于top,top是Unix/linux下功能强大的性能检测工具之一,用于实时检测并统计进程的属性和状态,基于ncurses库,可上显示文字界面.但是top已经非常陈旧, ...