1. 程式人生 > >基於檔案的資料結構:關於SequenceFile

基於檔案的資料結構:關於SequenceFile

package com.lcy.hadoop.io; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.SequenceFile; import
org.apache.hadoop.io.Text; public class SequenceFileWriteDemo { private static final String [] DATA={ "One,two,buckle my shoe", "Three,four,shut the door", "Five,six,pick up sticks", "Seven,eight,lay them straight", "Nine,ten,a big fat hen" };
public static void main(String[] args) throws Exception{ // TODO Auto-generated method stub String uri=args[0]; Configuration conf=new Configuration(); FileSystem fs=FileSystem.get(URI.create(uri),conf); Path path=new Path(uri); IntWritable key
=new IntWritable(); Text value=new Text(); SequenceFile.Writer writer=null; try{ writer=SequenceFile.createWriter(fs,conf,path,key.getClass(),value.getClass()); for(int i=0;i<100;i++){ key.set(100-i); value.set(DATA[i%DATA.length]); System.out.printf("[%s]\t%s\t%s\n",writer.getLength(),key,value); writer.append(key, value); } }finally{ IOUtils.closeStream(writer); } } }

相關推薦

基於檔案資料結構關於SequenceFile

package com.lcy.hadoop.io; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apa

基於檔案資料結構SequenceFile實現

Hadoop的sequenceFile為二進位制鍵/值對提供了一個持久資料結構。它可以作為小檔案的容器。HDFS和MapReduce是針對大檔案優化的,所以通過SequenceFile型別將小檔案包裝起來,可以獲得更高效率的儲存和處理。 SequenceFile的實現程式碼: package c

基於檔案資料結構關於MapFile

package com.lcy.hadoop.io; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apa

資料結構線段樹及ST演算法比較

ST演算法是一種高效的計算區間最值的方法。 他的思想是將詢問區間分解成兩個最長的二次冪的長度的區間並集的形式。 所以與線段樹不同,這種區間分解其實存在相交的分解。 因此ST演算法能維護的只是一些簡單的資訊,比如區間最值或者區間gcd問題 ST演算法的優勢: 實現簡單(qwq為什麼我覺得線段樹更

玩轉資料結構——第三章最基礎的動態資料結構連結串列

內容概括: 3-1.什麼是連結串列 3-2.在連結串列中新增元素 3-3.使用連結串列的虛擬頭結點 3-4.連結串列的遍歷,查詢和修改 3-5.從連結串列中刪除元素 3-6.使用連結串列實現棧 3-7.帶有尾指標的連結串列:使用連結串列實現佇列

資料結構求兩個有序列表的交集,並集

1.求兩個有序列表的交集 LNode* Intersection(LNode* La,LNode* Lb) { if (La==NULL||Lb==NULL) { return NULL; } LNode *pCHead = NULL; //A與B交集頭 LNode *pCE

最基礎的動態資料結構連結串列

什麼是連結串列 連結串列是一種線性結構,也是最基礎的動態資料結構。我們在實現動態陣列、棧以及佇列時,底層都是依託的靜態陣列,靠resize來解決固定容量的問題,而連結串列是真正的動態資料結構。學習連結串列這種資料結構,能夠更深入的理解引用(或者指標)以及遞迴。其中連結串列分為單鏈連結串列和雙鏈連結串列,本文

資料結構字串(堆)——基本操作

資料結構的重要行不言而喻,簡單介紹我在這部分遇到的一些問題,希望對大家有少許幫助。 首先實現的多個操作: 程式碼: #include<stdio.h> #include<stdlib.h> #include<string.h> #defi

檔案目錄結構單級、兩級、多級(樹形)和無環圖目錄結構

檔案目錄結構:單級、兩級、多級(樹形)和無環圖目錄結構 與檔案管理系統和檔案集合相關聯的是檔案目錄,它包含有關檔案的資訊,包括屬性、 位置和所有權等,這些資訊主要是由作業系統進行管理。首先我們來看目錄管理的基本要求: 從使用者的角度看,目錄在使用者(應用程式)所需要的檔名和檔案之間提供

資料結構樹&堆的概念持續編輯中

樹---|---:由 一個根結點 和 N個子結點 及 連線線 構成,任意結點間不構成迴路        |---二叉樹---|---:樹的一種,且任意結點最多隻能有兩個子結點        |     &n

資料結構棧及應用

  棧的定義:      棧是隻能在一端進行資料插入和刪除的線性表。 棧的性質:      後進先出(FILO),後面進去的元素,先出來,先進去的元素後出來 棧的操作:      棧的操作很簡單,就是

資料結構陣列和連結串列的區別以及各自的優缺點

原文地址 http://blog.csdn.net/qq_25806863/article/details/70607204 陣列和連結串列是兩種基本的資料結構,他們在記憶體儲存上的表現不一樣,所以也有各自的特點。 大致總結一下特點和區別,拿幾個人一起去看電影時坐座位為例。 陣列的特點

Python基礎【資料結構列表 | 元組 | 集合 | 字典】

序列 序列是Python中最基本的資料結構。包括字串,列表,元組,Unicode字串,buffer物件,xrange物件。序列中的每個元素都分配一個數字,即它的索引第一個索引是0,第二個索引是1,依此類推。 列表和元組 列表一個方括號內的逗號分隔值列表中可以存放不同的資料型別。

資料結構廣義錶轉置

問題描述 設計演算法,將指定的廣義表的內容原地逆置。例如:若廣義表GL為[1, [2, 3], 4, [5, [6, 7], 8], 9],逆置後GL為 [9, [8, [7, 6], 5], 4, [3, 2], 1] 。 基本思路 如題,一眼就能看出問題具有遞迴性,因此採用遞迴來求解,程式碼就

資料結構

堆常用來實現優先佇列,在這種佇列中,待刪除的元素為優先順序最高(最低)的那個。在任何時候,任意優先元素都是可以插入到佇列中去的,是電腦科學中一類特殊的資料結構的統稱 一、堆的定義 最大(最小)堆是一棵每一個節點的鍵值都不小於(大於)其孩子(如果存在)的鍵值的樹。大頂堆是一棵完全二叉樹,同時也是一

Java資料結構複數運算大全

public class 複數運算 { void cPlus(double a, double b, double c, double d, double[] e, double[] f) {// 加法 e[0] = a + c; f[0] = b + d; }

Java資料結構割圓術求Π

利用割圓術,將一個圓分割成正多邊形,在利用多邊形邊長=圓周,求Π import java.util.*; public class 割圓術求Π { public static void main(String[] args) { int n; System.

資料結構順序表的基本操作和還原

實現順序表的基本操作 三、實驗內容 定義順序表(可用結構體實現)、所需要的符號常量以及在該順序表上所進行的操作(用函式實現)初始化、插入新元素、刪除指定元素、查詢(返回指定元素位置)、檢索指定位置的元素。   要求:1、在主函式中呼叫各個函式實現相應操作,首

資料結構線性表的順序儲存結構及實現

線性表的順序儲存結構——順序表 線性表的順序儲存結構稱為順序表 順序表的實現 const int MaxSize=100; template<class DataType> class SeqList { public: SeqList(){lengt

資料結構雜湊表(Hash Table)

雜湊表定義 雜湊表是一種根據關鍵碼去尋找值的資料對映結構,該結構通過把關鍵碼對映的位置去尋找存放值的地方。 本質是一個數組,陣列中每一個元素稱為一個箱子(bin),箱子中存放的是鍵值對。 雜湊表的儲存過程如下: 根據 key 計算出它的雜湊值 h。 假設箱子的個數