apache crunch 項目開發了新的 java api,簡化了在 apache hadoop 之上的資料管道的建立過程。
crunch apis 是以 flumejava 為藍本開發的,flumejava 是 google 用來在他們自己的 mapreduce 實作之上建構資料管道的工具庫。
從 0.4 更新到 1.1.0(此更新不向後相容)。
新特性包含了 udfs sha, simplerandomsample, coalesce, reservoirsample, emptybagtonullfields 以及很多其他部分。
支援線上修改表結構
支援線上合并 region
命名空間:cdh 5 beta 2 包含的命名空間特性可以使不同的管理者使用者分别管理不同的表。所有被更新的表都會被放在 “hbase” 命名空間中。超級管理者可以建立新命名空間和表。對命名空間擁有權限的使用者可以管理裡面的表的權限
已經有了幾個針對 hbase 在 master 或 regionserver 出故障時的的平均恢複時間 的改進:
分布式日志分割(split)已經成熟,并且總是被啟用的。原來的比較慢的分割機制現在已經沒有了
失敗檢測時間有了提升。若 regionserver 或 master 發生故障會很快觸發補救措施,此時會發送新的通知。
中繼資料表有一個專用的 wal(write ahead log) ,此時如果 regionserver 的中繼資料已經儲存,它能使 region 更快地恢複
region balancer 有了顯著更新,兼顧了更多的負載特性。
添加了 tablesnapshotinputformat 和 tablesnapshotscanner 來掃描 hbase 表的用戶端快照,而不是伺服器上的,後者将引發一個 mapreduce 作業,前者隻會對用戶端快照檔案做單一的掃描。它們也可用于擁有快照檔案的離線 hbase,或直接用于導出的快照檔案
keyvalue api 已經廢棄,取而代之的是 cell 接口。更新到 hbase 0.96 的使用者仍可以使用 keyvalue,但以後的更新可能會去掉這個類或它的部分功能。建議使用者更新更新他們的應用來使用新的 cell 接口。
目前試驗性的一些特性:
分布式日志回放:這個機制使 regionserver 能更快地從失敗中恢複,但它會導緻一個特殊情況:它不能保證 acid(原子性、一緻性、隔離性、持久性) 要素cloudera 現在不建議啟用這個特性
大緩存(bucket cache): 這是個 off-heap 緩存機制,它使用額外的 ram 和 塊裝置(如閃存盤等)來極大地增強了 blockcache 提供的讀取緩存的能力。cloudera 現在不建議啟用這個特性
垂青節點(favored nodes,用戶端希望存儲資料的節點):為了在發生故障後更好地恢複現場(preserve performance),這個特性使 hbase 能更好地控制它的資料是從哪裡寫入hdfs的。目前它還不能很好地與 hbase balancer 和 hdfs balancer 互動,是以目前還不可用。cloudera 現在不建議啟用這個特性
hdfs-5037 - 啟動 namenode 的操作應該觸發它進行日志滾動。當碰到 namenode 處在安全模式時,用戶端會在配置的時間範圍内重試。
mkdir 指令的預設行為有了變化。從 cdh 5 beta 2 開始,如果父目錄不存在就必須使用 <code>-p</code> 選項,否則操作将會失敗。
改進的 jdbc 規範包括:
現在可以在 hiveserver2 連接配接位址(connection url) 中為會話指定要連接配接的資料庫
cdh 5 beta 2 包含了一個可用的本地 parquet serde。使用者不需要依賴任何外部包即可直接建立一個 parquet 格式的表。
hue 版本更新到 3.5.0.
impala 和 hive editor 現在都是單頁應用(one-page apps). 編輯器、進度、table 清單和結果都在同一個頁面。
用圖展示 impala 和 hive editor 的結果資料
oozie sla 的 editor 和 dashboard,定時任務,認證資訊
sqoop2 應用支援資料庫和表名/屬性的自動補全
公平排程器支援自動将應用存入隊列的進階配置
mapreduce 支援在 uber 模式和本地 job runner 中運作多個 reducer
oozie now supports cron-style scheduling capability.
oozie 現在支援安全的 ha(high availability with security)
重寫了 avrostorage 以提升性能,并且從 piggybank 移到了 core pig.
添加了 assert, in, 和 case 操作
添加了 parquetstorage 來與 parquet 內建
版本從 1.99.2 更新到 1.99.3.