Day1-hadoop_ _v1

Size: px
Start display at page:

Download "Day1-hadoop_ _v1"

Transcription

1 王耀聰陳威宇

2 課程大綱 (1) 第一天 09:30~10:20 介紹課程與 Hadoop 簡介 10:20~10:30 休息 10:30~12:00 Hadoop 生態系簡介實作一 :Hadoop Streaming 範例操作 12:00~13:00 午餐 13:00~15:00 開發輔助工具 Eclipse Map Reduce 程式架構 15:00~15:10 休息 15:10~16:30 程式設計 I- HDFS 操作程式設計 II- 範例程式 2

3 課程大綱 (2) 第二天 09:30~10:20 HBase 簡介與架構 10:20~10:30 休息 10:30~12:00 HBase 安裝操作說明 12:00~13:00 午餐 13:00~15:00 HBase 程式架構與範例 15:00~15:10 休息 15:10~16:00 Hadoop + HBase + PHP 案例實務 16:00~16:30 hadoop + 關聯式資料庫 3

4 學員背景調查 Java 語言?? PHP 語言?? MySQL 資料庫?? Linux 操作?? 電腦叢集維護?? 安裝過 Hadoop?? 參加過 Hadoop 基礎課程?? 4

5 It s Show Time 名稱 服務公司 / 就讀學校 報名原因 預期收穫 5

6 Hadoop 程式設計 引言 雲端運算這個名詞雖然紅, 但我一定需要雲端運算嗎? 他用在什麼場合? 又或非它不可嗎? 6

7 Hadoop 程式設計 Computing with big datasets is a fundamentally different challenge than doing big compute over a small dataset 7

8 平行分散式運算 格網運算 ( 網格運算, Grid computing) MPI, PVM, Condor 著重於 : 分散工作量 目前的問題在於 : 如何分散資料量 Reading 100 GB off a single filer would leave nodes starved just store data locally 8

9 分散大量資料 : Slow and Tricky 交換資料需同步處理 Deadlock becomes a problem 有限的頻寬 Failovers can cause cascading failure 9

10 數字會說話 Data processed by Google every month: 400 PB in 2007 Max data in memory: 32 GB Max data per computer: 12 TB Average job size: 180 GB 光一個 device 的讀取時間 = 45 minutes 10

11 所以 運算資料可以很快速, 但瓶頸在於 硬碟的 I/O 1 HDD = 75 MB/sec 解法 : parallel reads 1000 HDDs = 75 GB/sec 11

12 MapReduce 的動機 Data > 1 TB 交互運算於大量的 CPU 容易開發與使用 High-level applications written in MapReduce Programmers don t worry about socket(), etc. 12

13 Conclusions 大資料集的運算 與 小資料集的高速運 算,, 兩者是迥然不同的挑戰 大資料量的解決方法將需要 : 提供囊括所有解決之道的新工具 MapReduce 與 HDFS 等工具是其中之一

14 一 Hadoop 簡介 Hadoop 是一套儲存並處理 petabytes 等級資訊的 雲端運算技術 14

15 Hadoop 以 Java 開發 自由軟體 上千個節點 Petabyte 等級的資料量 創始者 Doug Cutting 為 Apache 軟體基金會的 top level project 15

16 巨量 特色 擁有儲存與處理大量資料的能力 經濟 由一般個人電腦所架設的叢集環境 效率 藉由平行分散檔案以致得到快速的回應 可靠 當某個節點發生錯誤, 系統能即時自動的取得備份資料以及佈署運算資源 16

17 實用案例 Hadoop 於 Yahoo 的運作資訊 年年 日日 節節節 耗耗 ( 小耗 ) 2006 四四 五四 十十四 十十四 十十四 十十四 七四 七四 七四 七四 Sort benchmark, every nodes with terabytes data. 17

18 Facebook 誰在用 Hadoop?(1) 處理 internal log and dimension data sources for reporting/analytics and machine learning. IBM Blue Cloud Computing Clusters Journey Dynamics 用 Hadoop MapReduce 分析 billions of lines of GPS data 並產生交通路線資訊. Krugle 用 Hadoop and Nutch 建構原始碼搜尋引擎 18

19 誰在用 Hadoop?(2) SEDNS - Security Enhanced DNS Group 收集全世界的 DNS 以探索網路分散式內容. Technical analysis and Stock Research 分析股票資訊 University of Nebraska Lincoln, Research Computing Facility 用 Hadoop 跑約 200TB 的 CMS 經驗分析 緊湊渺子線圈 (CMS,Compact Muon Solenoid) 為瑞士歐洲核子研究組織 CERN 的大型強子對撞器計劃的兩大通用型粒子偵測器中的一個 19

20 誰在用 Hadoop? (3) Yahoo! Used to support research for Ad Systems and Web Search 使用 Hadoop 平台來發現發送垃圾郵件的殭屍網絡 趨勢科技 過濾像是釣魚網站或惡意連結的網頁內容 20

21 Hadoop 的主要架構 21

22 Building Hadoop Namenode Hadoop JobTracker Data Task Data Task Data Task Java Java Java Linuux Linuux Linuux 22 Node1 Node2 Node3 22

23 名詞 Job Task 任務 小工作 JobTracker 任務分派者 TaskTracker Client Map 小工作的執行者 發起任務的客戶端 應對 Reduce 總和 Namenode 名稱節點 Datanode 資料節點 Namespace 名稱空間 Replication 副本 Blocks Metadata 檔案區塊 (64M) 屬性資料 23

24 管理資料 Namenode Master 管理 HDFS 的名稱空間 控制對檔案的讀 / 寫 配置副本策略 對名稱空間作檢查及紀錄 只能有一個 Datanode Workers 執行讀 / 寫動作 執行 Namenode 的副本策略 可多個 24

25 分派程序 Jobtracker Master 使用者發起工作 指派工作給 Tasktrackers 排程決策 工作分配 錯誤處理 只能有一個 Tasktrackers Workers 運作 Map 與 Reduce 的工作 管理儲存 回覆運算結果 可多個 25

26 不在雲裡的 Client 26

27 其他的 Open Source 專案 : Sector The National Center for Data Mining (NCDM) 其他不同語言實作的 MapReduce 函式庫

28 關於 Sector / Sphere 由美國資料探勘中心 (National Center for Data Mining) 研發的自由軟體專案 採用 C/C++ 語言撰寫, 因此效能較 Hadoop 更好 提供 類似 Google File System 與 MapReduce 的機制 基於 UDT 高效率網路協定來加速資料傳輸效率 Open Cloud Consortium 的 Open Cloud Testbed, 有提供測試環境, 並開發了 MalStone 效能評比軟體

29 Conclusions 所有工作都由 JobTracker 統一分派, 由眾多 TaskTracker 執行, 每個 TaskTracker 又可以 執行多個 Task threads 所有名稱空間與檔案的 metadata 都由一個 Namenode 統籌, 檔案空間為所有 Datanode 的集合,hdfs 的基本單位為 block Client 只需要丟工作或存取在 雲 的資料 29

30 Hadoop 只支援用 Java 開發嘛? Is Hadoop only support Java? 總不能全部都重新設計吧? 如何與舊系統相容? Can Hadoop work with existing software? 可以跟資料庫結合嘛? Can Hadoop work with Databases? 開發者們有聽到大家的需求... Yes, we hear the feedback of developers... 30

31 Hadoop 程式設計 二 Hadoop 相關子專案 Hadoop Common: The common utilities that support the other Hadoop subprojects. HDFS: A distributed file system that provides high throughput access to application data. MapReduce: A software framework for distributed processing of large data sets on compute clusters. 31

32 Hadoop 相關子專案 Chukwa: A data collection system for managing large distributed systems. HBase: A scalable, distributed database that supports structured data storage for large tables. Hive: A data warehouse infrastructure that provides data summarization and ad hoc querying. Pig: A high-level data-flow language and execution framework for parallel computation. ZooKeeper: A high-performance coordination service 32 for distributed applications.

33 Hadoop 生態系 (Ecosystem) Pig Chukwa Hive HBase MapReduce HDFS ZooKeeper Hadoop Core (Hadoop Common) Avro Source: Hadoop: The Definitive Guide 33

34 Avro Avro is a data serialization system. It provides: Rich data structures. A compact, fast, binary data format. A container file, to store persistent data. Remote procedure call (RPC). Simple integration with dynamic languages. For more detail, please check the official document: 34

35 Zoo Keeper ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. 35

36 Pig Pig is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs, coupled with infrastructure for evaluating these programs. Pig's infrastructure layer consists of a compiler that produces sequences of Map-Reduce programs Pig's language layer currently consists of a textual language called Pig Latin, which has the following key properties: Ease of programming Optimization opportunities Extensibility

37 Hive Hive is a data warehouse infrastructure built on top of Hadoop that provides tools to enable easy data summarization, adhoc querying and analysis of large datasets data stored in Hadoop files. Hive QL is based on SQL and enables users familiar with SQL to query this data.

38 HBase HBase is a distributed column-oriented database built on top of HDFS. A distributed data store that can scale horizontally to 1,000s of commodity servers and petabytes of indexed storage. Designed to operate on top of the Hadoop distributed file system (HDFS) or Kosmos File System (KFS, aka Cloudstore) for scalability, fault tolerance, and high availability. Integrated into the Hadoop map-reduce platform and paradigm.

39 Chukwa Chukwa is an open source data collection system for monitoring large distributed systems. built on top of HDFS and Map/Reduce framework includes a flexible and powerful toolkit for displaying, monitoring and analyzing results to make the best use of the collected data.

40 Mahout Mahout is a scalable machine learning libraries. implemented on top of Apache Hadoop using the map/reduce paradigm. Mahout currently has Collaborative Filtering User and Item based recommenders K-Means, Fuzzy K-Means clustering Mean Shift clustering More...

41 Hadoop 只支援 Java 嗎? Although the Hadoop framework is implemented in Java TM, Map/Reduce applications need not be written in Java. Hadoop Streaming is a utility which allows users to create and run jobs with any executables (e.g. shell utilities) as the mapper and/or the reducer. Hadoop Pipes is a SWIG-compatible C++ API to implement Map/Reduce applications (non JNI TM based).

42 Hadoop Pipes (C++, Python) Hadoop Pipes allows C++ code to use Hadoop DFS and map/reduce. The C++ interface is "swigable" so that interfaces can be generated for python and other scripting languages. For more detail, check the API Document of org.apache.hadoop.mapred.pipes You can also find example code at hadoop-*/src/examples/pipes About the pipes C++ WordCount example code: 42

43 Hadoop Streaming Hadoop Streaming is a utility which allows users to create and run Map-Reduce jobs with any executables (e.g. Unix shell utilities) as the mapper and/or the reducer. It's useful when you need to run existing program written in shell script, perl script or even PHP. Note: both the mapper and the reducer are executables that read the input from STDIN (line by line) and emit the output to STDOUT. For more detail, check the official document of Hadoop Streaming

44 Running Hadoop Streaming hadoop jar hadoop-streaming.jar help Usage: $HADOOP_HOME/bin/hadoop [--config dir] jar \ $HADOOP_HOME/hadoop-streaming.jar [options] Options: -input <path> DFS input file(s) for the Map step -output <path> DFS output directory for the Reduce step -mapper <cmd JavaClassName> The streaming command to run -combiner <JavaClassName> Combiner has to be a Java class -reducer <cmd JavaClassName> The streaming command to run -file <file> File/dir to be shipped in the Job jar file -dfs <h:p> local Optional. Override DFS configuration -jt <h:p> local Optional. Override JobTracker configuration -additionalconfspec specfile Optional. -inputformat TextInputFormat(default) SequenceFileAsTextInputFormat JavaClassNam e Optional. -outputformat TextOutputFormat(default) JavaClassName Optional. More

45 Hadoop Streaming 範例 (1) hadoop:~$ hadoop fs -rmr input output hadoop:~$ hadoop fs -put /etc/hadoop/conf input hadoop:~$ hadoop jar hadoop-streaming.jar -input input -output output -mapper /bin/cat -reducer /usr/bin/wc 45

46 Hadoop Streaming 範例 (2) hadoop:~$ echo "sed -e \"s/ /\n/g\" grep." > streamingmapper.sh hadoop:~$ echo "uniq -c awk '{print \$2 \"\t\" \$1}'" > streamingreducer.sh hadoop:~$ chmod a+x streamingmapper.sh hadoop:~$ chmod a+x streamingreducer.sh hadoop:~$ hadoop fs -put /etc/hadoop/conf input hadoop:~$ hadoop jar hadoop-streaming.jar -input input -output output -mapper streamingmapper.sh -reducer streamingreducer.sh -file streamingmapper.sh -file streamingreducer.sh 46

47 Hadoop 程式設計 三 Map Reduce 與 HDFS 3.A:HDFS 檔案系統 3.B:MapReduce 演算法 47

48 Hadoop 程式設計 三 Map Reduce 與 HDFS 3.A:HDFS - 檔案系統 HDFS = Hadoop Distributed File System, 是 Hadoop 用來存放資料的分散式檔案系統, 因此若要讓 Hadoop 運算資料, 就要將待運算的資料放到這個空間才可以 ; 同理可知運算後的資料... 48

49 HDFS: 開發動機 基於 Google File System (GFS) 用便宜而不可靠的電腦, 打造互為備援 的儲存媒介, 拿來存放海量資料 為何不使用現存的檔案系統呢? 不同的工作負載與設計優先權 須處理比其他檔案系統還要更大的資料集 49

50 基本假設 高單元故障率 便宜的個人電腦商品總是容易故障 海量檔案的 客觀 參考數字 就只是幾百萬個檔案而已... 每個大小約 100MB 或更大 ; 通常以數 GB 的檔案最常見 這些檔案都只寫一次 (write-once), 多數是附加 (append) 大量的串流讀取需求 持續而大量的資料通量 (throughput) 遠比較短的反應延遲 ( latency) 來得重要 50

51 HDFS 設計準則 檔案以區塊 (block) 方式儲存 每個區塊大小遠比多數檔案系統都來得大 ( 預設值為 64MB) 透過複本機制來提高可靠度 每個區塊至少備分到三台以上的 DataNode 單一 master (NameNode) 來協調存取及屬性資料 (metadata) 簡易的集中控管機制 沒有資料快取機制 (No data caching) 快取對於大資料集與串流讀取沒太大幫助 熟悉的介面, 但客制化的 API 簡化問題 ; 專注於分散式應用 51

52 管理資料 52

53 HDFS 運作 Namenode (the master) 檔案路徑 副本數, 由哪幾個 block 組成 name:/users/joeyahoo/myfile - copies:2, blocks:{1,3} name:/users/bobyahoo/somedata.gzip, copies:3, blocks:{2,4,5} Client Metadata I/O Datanodes (the slaves)

54 HDFS 運作 目的 : 提高系統的可靠性與讀取的效率 可靠性 : 節點失效時讀取副本已維持正常運作 讀取效率 : 分散讀取流量 ( 但增加寫入時效能瓶頸 ) Namenode JobTracker file1 (1,3) file2 (2,4,5) Map tasks Reduce tasks TaskTracker TT ask for task Block 1 1 TT 2 TT TT TT 3 TT

55 HDFS 系統流程圖 55

56 Hadoop 程式設計 三 Map Reduce 與 HDFS 3.B : MapReduce 演算法 Hadoop 的運算方式是透過 Map/Reduce 演算法構成, 也意謂著, 要透過 Hadoop API 撰寫平行分散式程式, 則一定要懂 Map / Reduce 56

57 Map / Reduce 定義 MapReduce is a software framework to support distributed computing on large data sets on clusters of computers. 57

58 演算法 Functional Programming : Map Reduce map(...) : [ 1,2,3,4 ] (*2) -> [ 2,4,6,8 ] reduce(...): [ 1,2,3,4 ] - (sum) -> 10 對應演算法中的 Divide and conquer 將問題分解成很多個小問題之後, 再做總和 58 58

59 Map One-to-one Mapper let map(k, v) = Emit(k.toUpper(), v.toupper()) Explode Mapper let map(k, v) = foreach char c in v: emit(k, c) ( Foo, other ) ( FOO, OTHER ) ( key2, data ) ( KEY2, DATA ) ( A, cats ) ( A, c ), ( A, a ), ( A, t ), ( A, s ) Filter Mapper let map(k, v) = if (isprime(v)) then emit(k, v) ( foo, 7) ( foo, 7) ( test, 10) (nothing) 59

60 Reduce Example: Sum Reducer let reduce(k, vals) = sum = 0 foreach int v in vals: sum += v emit(k, sum) ( A, [42, 100, 312]) ( A, 454) ( B, [12, 6, -2]) ( B, 16) 60

61 MapReduce 單台 Map 數量依輸入檔案的 block 數為主,Reduce 數量由系統決定 Sort 的規則為 key 的字母順序 61 61

62 MapReduce 多台 62 62

63 MapReduce 運作流程 input HDFS map sort/copy merge output HDFS split 0 split 1 reduce part0 split 2 split 3 map split 4 reduce part1 map JobTracker 跟 NameNode 取得需要運算的 blocks JobTracker 選數個 TaskTracker 來作 Map 運算, 產生些中間檔案 JobTracker 將中間檔案整合排序後, 複製到需要的 TaskTracker 去 JobTracker 派遣 TaskTracker 作 reduce reduce 完後通知 JobTracker 與 Namenode 以產生 output 63 63

64 實例範例 I am a tiger, you are also a tiger map map map I,1 am,1 a,1 tiger,1 you,1 are,1 also,1 a, 1 tiger,1 a, 1 a,1 also,1 am,1 are,1 I,1 tiger,1 tiger,1 you,1 reduce reduce a,2 also,1 a,2 am,1 also,1 are,1 am,1 are,1 I,1 tiger,2 you,1 I, 1 tiger,2 you,1 JobTracker 先選了三個 Tracker 做 map Map 結束後,hadoop 進行中間資料的整理與排序 JobTracker 再選兩個 TaskTracker 作 reduce 64

65 Hadoop 程式設計 四 寫 Code 環境準備 4.A : Console 端 編譯與執行 4.B : 透過 Eclipse 開發與測試運算 65

66 Java 之編譯與執行 1. 編譯 javac -classpath hadoop-*-core.jar -d MyJava MyCode.java 2. 封裝 jar -cvf MyJar.jar -C MyJava. 3. 執行 bin/hadoop jar MyJar.jar MyCode HDFS_Input/ HDFS_Output/ 所在的執行目錄為 Hadoop_Home./MyJava = 編譯後程式碼目錄 Myjar.jar = 封裝後的編譯檔 先放些文件檔到 HDFS 上的 input 目錄./input;./ouput = hdfs 的輸入 輸出目錄 66 66

67 WordCount1 練習 (I) 1. cd $HADOOP_HOME; mkdir input_local 2. echo "I like NCHC Cloud Course." > input_local/input1 3. echo "I like nchc Cloud Course, and we enjoy this crouse." > input_local/input2 4. bin/hadoop dfs -put input_local input 5. bin/hadoop dfs -ls input 67

68 WordCount1 練習 (II) 1. 編輯 WordCount.java 2. mkdir MyJava 3. javac -classpath hadoop-*-core.jar -d MyJava WordCount.java 4. jar -cvf wordcount.jar -C MyJava. 5. bin/hadoop jar wordcount.jar WordCount input/ output/ 所在的執行目錄為 Hadoop_Home( 因為 hadoop-*-core.jar ) javac 編譯時需要 classpath, 但 hadoop jar 時不用 wordcount.jar = 封裝後的編譯檔, 但執行時需告知 class name Hadoop 進行運算時, 只有 input 檔要放到 hdfs 上, 以便 hadoop 分析運算 ; 執行檔 (wordcount.jar wordcount.jar) 不需上傳, 也不需每個 node 都放, 程式的載入交由 java 處理 68

69 WordCount1 練習 (III) 69

70 WordCount1 練習 (IV) 70

71 BTW 雖然 Hadoop 框架是用 Java 實作, 但 Map/Reduce 應用程序則不一定要用 Java 來寫 Hadoop Streaming : 執行作業的工具, 使用者可以用其他語言 ( 如 :PHP) 套用到 Hadoop 的 mapper 和 reducer Hadoop Pipes:C++ API 71

72 Hadoop 程式設計 四 寫 Code 環境準備 4.A : Console 端編譯與執行 4.B : 透過 Eclipse 開發與測試運算 72

73 Requirements Hadoop up Java 1.6 Eclipse 3.3 up Hadoop Eclipse Plugin up 73

74 安裝 Hadoop Eclipse Plugin Hadoop Eclipse Plugin Compiler needed Hadoop Eclipse Plugin From $Hadoop_0.20.0_home/contrib/eclipseplugin/hadoop eclipse-plugin.jar Or download from plugin.googlecode.com/files/hadoop eclipse- plugin.jar copy to $Eclipse_home/plugins/ 74

75 1 打開 Eclipse, 設定專案目錄 75

76 2. 使用 Hadoop mode 視野 1. Window 2. Open Perspective 3. Other 若有看到 MapReduce 的大象圖示代表 Hadoop Eclipse plugin 有安裝成功, 若沒有請檢查是否有安之裝正確 76

77 3. 使用 Hadoop 視野, 主畫面將出現三個功能 77

78 4. 建立一個 Hadoop 專案 開出新專案 選擇 Map/Reduce 專案 78

79 4-1. 輸入專案名稱並點選設定 Hadoop 安裝路徑 由此設定專案名稱 由此設定 Hadoop 的安裝路徑 79

80 填入 Hadoop 安裝路徑 於此輸入您 Hadoop 的安裝路徑, 之後選擇 ok 80

81 5. 設定 Hadoop 專案細節 1. 右鍵點選 2. 選擇 Properties 81

82 5-1. 設定原始碼與文件路徑 選擇 Java Build Path 以下請輸入正確的 Hadoop 原始碼與 API 文件檔路徑, 如 source :/opt/hadoop/src/ javadoc:file:/opt/hadoop/docs/api/ 82

83 完成圖 83

84 5-2. 設定 java doc 的完整路徑 選擇 Javadoc Location 輸入 java 6 的 API 正確路徑, 輸入完後可選擇 validate 以驗證是否正確 84

85 6. 連結 Hadoop Server 與 Eclipse 點選此圖示 85

86 6-1. 設定你要連接的 Hadoop 主機 任意填一個名稱 輸入主機位址或 domain name MapRedu ce 監聽的 Port ( 設定於 mapredsite.xml) HDFS 監聽的 Port ( 設定於 coresite.xml) 你在此 Hadoop Server 上的 Username 86

87 6-2 若正確設定則可得到以下畫面 HDFS 的資訊, 可直接於此操作檢視 新增 上傳 刪除等命令 若有 Job 運作, 可於此視窗檢視 87

88 7. 新增一個 Hadoop 程式 首先先建立一個 WordCount 程式, 其他欄位任意 88

89 7.1 於程式窗格內輸入程式碼 此區為程式窗格 89

90 7.2 補充 若之前 doc 部份設定正確, 則滑鼠移至程式碼可取得 API 完整說明 90

91 8. 運作 於欲運算的程式碼處點選右鍵 Run As Run on Hadoop 91

92 8-1 選擇之前設定好所要運算的主機 92

93 8.2 運算資訊出現於 Eclipse 右下方的 Console 視窗 放大 93

94 8.3 剛剛運算的結果出現如下圖 放大 94

95 Conclusions 優點 快速開發程式 易於除錯 智慧尋找函式庫 自動鍊結 API 直接操控 HDFS 與 JobTracker 缺點 Plugin 並會因 Eclipse 版本而有不同的狀況 95

96 Hadoop 程式設計 五 開發 Hadoop Map/Reduce 程式設計者只需要解決 真實的 問題, 架構面留給 MapReduce 96

97 Hadoop 的 MapReduce API 提供 自動的平行化與工作分配 容錯特性 狀態監控工具 一個乾淨的抽象化 (abstration) 供程式設 計師使用 97

98 HDFS & MapReduce HDFS Input Output 部份圖片來源 : 98

99 <Key, Value> Pair Input Row Data Map Output key1 key2 key1 val val val Map Select Key Reduce Input key1 val. val val Reduce Output key values 99

100 Program Prototype (v 0.20) Map 區 Reduce 區 設定區 Class MR{ static public Class Mapper { Map 程式碼 } static public Class Reducer { } Reduce 程式碼 main(){ Configuration conf = new Configuration(); Job job = new Job(conf, job name"); job.setjarbyclass(thismainclass.class); job.setmapperclass(mapper.class); job.setreduceclass(reducer.class); FileInputFormat.addInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); }} 其他的設定參數程式碼 job.waitforcompletion(true); 100

101 Class Mapper (v 0.20) import org.apache.hadoop.mapreduce.mapper; class MyMap extends Mapper < INPUT INPUT OUTPUT OUTPUT KEY, VALUE, KEY, VALUE > { Class Class Class Class // 全域變數區 INPUT INPUT public void map ( KEY key, VALUE value, } Class Class Context context )throws IOException,InterruptedException { // 區域變數與程式邏輯區 context.write( NewKey, NewValue); } 101

102 Class Reducer (v 0.20) import org.apache.hadoop.mapreduce.reducer; class MyRed extends INPUT INPUT OUTPUT OUTPUT Reducer <,,, > KEY VALUE KEY VALUE { Class Class Class Class // 全域變數區 public void reduce ( } INPUT KEY Class key, Iterable< VALUE > values, Context context) throws IOException,InterruptedException { // 區域變數與程式邏輯區 context.write( NewKey, NewValue); } INPUT Class 102

103 其他常用的設定參數 設定 Combiner Job.setCombinerClass ( ); 設定 output class Job.setMapOutputKeyClass( ); Job.setMapOutputValueClass( ); Job.setOutputKeyClass( ); Job.setOutputValueClass( ); 103

104 Class Combiner 指定一個 combiner, 它負責對中間過程的 輸出進行聚集, 這會有助於降低從 Mapper 到 Reducer 數據傳輸量 可不用設定交由 Hadoop 預設 也可不實做此程式, 引用 Reducer 設定 JobConf.setCombinerClass(Class) 104

105 範例一 (1) - mapper public class HelloHadoop { static public class HelloMapper extends Mapper<LongWritable, Text, LongWritable, Text> { public void map(longwritable key, Text value, Context context) throws IOException, InterruptedException { context.write((longwritable) key, (Text) value); } } // HelloReducer end..( 待續 ) 105

106 範例一 (2) - reducer static public class HelloReducer extends Reducer<LongWritable, Text, LongWritable, Text> { public void reduce(longwritable key, Iterable<Text> values, Context context) throws IOException, InterruptedException { Text val = new Text(); for (Text str : values) { val.set(str.tostring()); } context.write(key, val); } } // HelloReducer end..( 待續 ) 106

107 範例一 (3) - main public static void main(string[] args) throws IOException, InterruptedException, ClassNotFoundException { Configuration conf = new Configuration(); Job job = new Job(conf, "Hadoop Hello World"); job.setjarbyclass(hellohadoop.class); FileInputFormat.setInputPaths(job, "input"); FileOutputFormat.setOutputPath(job, new Path("output-hh1")); job.setmapperclass(hellomapper.class); job.setreducerclass(helloreducer.class); job.waitforcompletion(true); } // main end } // wordcount class end // 完 107

108 Hadoop 程式設計 七 Hadoop 程式範例 7.1:HDFS 操作篇 7.2:MapReduce : 運算篇 108

109 傳送檔案至 HDFS // 將檔案從 local 上傳到 hdfs, src 為 local 的來源, dst 為 hdfs 的目的端 public class PutToHdfs { static boolean puttohdfs(string src, String dst, Configuration conf) { Path dstpath = new Path(dst); try { // 產生操作 hdfs 的物件 FileSystem hdfs = dstpath.getfilesystem(conf); // 上傳 hdfs.copyfromlocalfile(false, new Path(src),new Path(dst)); } catch (IOException e) { e.printstacktrace(); return false; } return true; } 109

110 從 HDFS 取回檔案 // 將檔案從 hdfs 下載回 local, src 為 hdfs 的來源, dst 為 local 的目的端 public class GetFromHdfs { static boolean getfromhdfs(string src,string dst, Configuration conf) { Path dstpath = new Path(src); try { // 產生操作 hdfs 的物件 FileSystem hdfs = dstpath.getfilesystem(conf); // 下載 hdfs.copytolocalfile(false, new Path(src),new Path(dst)); } catch (IOException e) { e.printstacktrace(); return false; } return true; } 110

111 檢查與刪除檔案 // checkanddelete 函式, 檢查是否存在該資料夾, 若有則刪除之 public class CheckAndDelete { static boolean checkanddelete(final String path, Configuration conf) { Path dst_path = new Path(path); try { // 產生操作 hdfs 的物件 FileSystem hdfs = dst_path.getfilesystem(conf); // 檢查是否存在 if (hdfs.exists(dst_path)) { // 有則刪除 hdfs.delete(dst_path, true); } } catch (IOException e) { e.printstacktrace(); return false; } return true; } 111

112 Hadoop 程式設計 七 Hadoop 程式範例 7.1:HDFS 操作篇 7.2:MapReduce 運算篇 112

113 範例二 (1) HelloHadoopV2 說明 : 此程式碼比 HelloHadoop 增加了 * 檢查輸出資料夾是否存在並刪除 * input 資料夾內的資料若大於兩個, 則資料不會被覆蓋 * map 與 reduce 拆開以利程式再利用 測試方法 : 將此程式運作在 hadoop 0.20 平台上, 執行 : hadoop jar V2.jar HelloHadoopV 注意 : 1. 在 hdfs 上來源檔案的路徑為 "/user/$your_name/input", 請注意必須先放資料到此 hdfs 上的資料夾內, 且此資料夾內只能放檔案, 不可再放資料夾 2. 運算完後, 程式將執行結果放在 hdfs 的輸出路徑為 "/user/$your_name/output-hh2" 113

114 範例二 (2) public class HelloHadoopV2 { public static void main(string[] args) throws IOException, InterruptedException, ClassNotFoundException { Configuration conf = new Configuration(); Job job = new Job(conf, "Hadoop Hello World 2"); job.setjarbyclass(hellohadoopv2.class); // 設定 map and reduce 以及 Combiner class job.setmapperclass(hellomapperv2.class); job.setcombinerclass(helloreducerv2.class); job.setreducerclass(helloreducerv2.class); // 設定 map 的輸出型態 job.setmapoutputkeyclass(text.class); job.setmapoutputvalueclass(text.class); // 設定 reduce 的輸出型態 job.setoutputkeyclass(text.class); job.setoutputvalueclass(text.class); FileInputFormat.addInputPath (job, new Path("input")); FileOutputFormat.setOutputPath (job, new Path("output-hh2")); // 呼叫 checkanddelete 函式, // 檢查是否存在該資料夾, 若有則刪除之 CheckAndDelete.checkAndDelete("output-hh2", conf); boolean status = job.waitforcompletion(true); if (status) { System.err.println("Integrate Alert Job Finished!"); } else { System.err.println("Integrate Alert Job Failed!"); System.exit(1); } } } 114

115 範例二 (3) public class HelloMapperV2 extends Mapper <LongWritable, Text, Text, Text> { public void map(longwritable key, Text value, Context context) throws IOException, InterruptedException { context.write(new Text(key.toString()), value); } } public class HelloReducerV2 extends Reducer<Text, Text, Text, Text> { public void reduce(text key, Iterable<Text> values, Context context) throws IOException, InterruptedException { String str = new String(""); Text final_key = new Text(); Text final_value = new Text(); // 將 key 值相同的 values, 透過 && 符號分隔之 for (Text tmp : values) { str += tmp.tostring() + " &&"; } final_key.set(key); final_value.set(str); context.write(final_key, final_value); } } 115

116 範例三 (1) HelloHadoopV3 說明 : 此程式碼再利用了 HelloHadoopV2 的 map, reduce 檔, 並且自動將檔案上傳到 hdfs 上運算並自動取回結果, 還有提示訊息 參數輸入與印出運算時間的功能 測試方法 : 將此程式運作在 hadoop 0.20 平台上, 執行 : hadoop jar V3.jar HelloHadoopV3 <local_input> <local_output> 注意 : 1. 第一個輸入的參數是在 local 的輸入資料夾, 請確認此資料夾內有資料並無子目錄 2. 第二個輸入的參數是在 local 的運算結果資料夾, 由程式產生不用事先建立, 若有請刪除之 116

117 範例三 (2) public class HelloHadoopV3 { public static void main(string[] args) throws IOException, InterruptedException, ClassNotFoundException { String hdfs_input = "HH3_input"; String hdfs_output = "HH3_output"; Configuration conf = new Configuration(); // 宣告取得參數 String[] otherargs = new GenericOptionsParser(conf, args).getremainingargs(); // 如果參數數量不為 2 則印出提示訊息 if (otherargs.length!= 2) { System.err.println("Usage: hadoop jar HelloHadoopV3.jar <local_input> <local_output>"); System.exit(2); } Job job = new Job(conf, "Hadoop Hello World"); job.setjarbyclass(hellohadoopv3.class); // 再利用上個範例的 map 與 reduce job.setmapperclass(hellomapperv2.class); job.setcombinerclass(helloreducerv2.class); job.setreducerclass(helloreducerv2.class); // 設定 map reduce 的 key value 輸出型態 job.setmapoutputkeyclass(text.class); job.setmapoutputvalueclass(text.class); job.setoutputkeyclass(text.class); job.setoutputvalueclass(text.class); 117

118 範例三 (2) // 用 checkanddelete 函式防止 overhead 的錯誤 CheckAndDelete.checkAndDelete(hdfs_input, conf); CheckAndDelete.checkAndDelete(hdfs_output, conf); // 放檔案到 hdfs PutToHdfs.putToHdfs(args[0], hdfs_input, conf); // 設定 hdfs 的輸入輸出來源路定 FileInputFormat.addInputPath(job, new Path(hdfs_input)); FileOutputFormat.setOutputPath(job, new Path(hdfs_output)); long start = System.nanoTime(); job.waitforcompletion(true); // 把 hdfs 的結果取下 GetFromHdfs.getFromHdfs(hdfs_output, args[1], conf); boolean status = job.waitforcompletion(true); // 計算時間 if (status) { System.err.println("Integrate Alert Job Finished!"); long time = System.nanoTime() - start; System.err.println(time * (1E-9) + " secs."); } else { } } } System.err.println("Integrate Alert Job Failed!"); System.exit(1); 118

119 範例四 (1) public static void main(string[] args) throws Exception { Configuration conf = new Configuration(); String[] otherargs = new GenericOptionsParser(conf, args).getremainingargs(); if (otherargs.length!= 2) { System.err.println("Usage: hadoop jar WordCount.jar <input> <output>"); System.exit(2); } Job job = new Job(conf, "Word Count"); job.setjarbyclass(wordcount.class); job.setmapperclass(tokenizermapper.class); job.setcombinerclass(intsumreducer.class); job.setreducerclass(intsumreducer.class); job.setoutputkeyclass(text.class); job.setoutputvalueclass(intwritable.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); CheckAndDelete.checkAndDelete(args[1], conf); System.exit(job.waitForCompletion(true)? 0 : 1); } 119

120 範例四 (2) 1 class TokenizerMapper extends Mapper<LongWritable, Text, Text, IntWritable> { 2 private final static IntWritable one = new IntWritable(1); 3 private Text word = new Text(); 4 public void map( LongWritable key, Text value, Context context) }}} Input key /user/hadooper/input/a.txt. No news is a good news. throws IOException, InterruptedException { String line = ((Text) value).tostring(); StringTokenizer itr = new StringTokenizer(line); while (itr.hasmoretokens()) { word.set(itr.nexttoken()); context.write(word, one); Input value line itr no news is a good news itr itr itr itr itr itr <word,one> < no, 1 > < news, 1 > < is, 1 > < a, 1 > < good, 1 > < news, 1 > 120

121 範例四 (3) class IntSumReducer extends Reducer< Text, IntWritable, Text, IntWritable> { }} IntWritable result = new IntWritable(); public void reduce( Text key, Iterable <IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for ( IntWritable val : values ) sum += val.get(); result.set(sum); context.write ( key, result); for ( int i ; i < values.length ; i ++ ){ sum += values[i].get() } <word,one> < a, 1 > < good, 1 > < is, 1 > < news, 1 1 > < no, 1 > news 1 1 <key,sunvalue> < news, 2 > 121

122 範例五 (1) WordCountV2 說明 : 用於字數統計, 並且增加略過大小寫辨識 符號篩除等功能 測試方法 : 將此程式運作在 hadoop 0.20 平台上, 執行 : hadoop jar WCV2.jar WordCountV2 -Dwordcount.case.sensitive=false \ <input> <output> -skip patterns/patterns.txt 注意 : 1. 在 hdfs 上來源檔案的路徑為你所指定的 <input> 請注意必須先放資料到此 hdfs 上的資料夾內, 且此資料夾內只能放檔案, 不可再放資料夾 2. 運算完後, 程式將執行結果放在 hdfs 的輸出路徑為你所指定的 <output> 3. 請建立一個資料夾 pattern 並在裡面放置 pattern.txt, 內容如 ( 一行一個, 前置提示符號 \) \. \, \! 122

123 範例五 (2) public class WordCountV2 extends Configured implements Tool { public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> { static enum Counters { INPUT_WORDS } private final static IntWritable one = new IntWritable(1); private Text word = new Text(); private boolean casesensitive = true; private Set<String> patternstoskip = new HashSet<String>(); private long numrecords = 0; private String inputfile; public void configure(jobconf job) { casesensitive = job.getboolean("wordcount.case.sensitive", true); inputfile = job.get("map.input.file"); if (job.getboolean("wordcount.skip.patterns", false)) { Path[] patternsfiles = new Path[0]; try { patternsfiles = DistributedCache.getLocalCacheFiles(job); } catch (IOException ioe) { System.err.println("Caught exception while getting cached files: " + StringUtils.stringifyException(ioe)); } for (Path patternsfile : patternsfiles) { parseskipfile(patternsfile); }}} private void parseskipfile(path patternsfile) { try { BufferedReader fis = new BufferedReader(new FileReader( patternsfile.tostring())); String pattern = null; while ((pattern = fis.readline())!= null) { patternstoskip.add(pattern); } } catch (IOException ioe) { System.err.println("Caught exception while parsing the cached file '"+ patternsfile + "' : " + tringutils.stringifyexception(ioe)); }} public void map(longwritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { String line = (casesensitive)? value.tostring() : value.tostring().tolowercase(); for (String pattern : patternstoskip) line = line.replaceall(pattern, ""); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasmoretokens()) { word.set(tokenizer.nexttoken()); output.collect(word, one); reporter.incrcounter(counters.input_words, 1); } 123

124 範例五 (3) if ((++numrecords % 100) == 0) { reporter.setstatus("finished processing " + numrecords + " records " + "from the input file: " + inputfile); } } } public static class Reduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { int sum = 0; while (values.hasnext()) { sum += values.next().get(); } output.collect(key, new IntWritable(sum)); } } public int run(string[] args) throws Exception { JobConf conf = new JobConf(getConf(), WordCount.class); conf.setjobname("wordcount"); String[] otherargs = new GenericOptionsParser(conf, args).getremainingargs(); if (otherargs.length < 2) { System.out.println("WordCountV2 [- Dwordcount.case.sensitive=<false true>] \\ "); System.out.println(" <indir> <outdir> [-skip Pattern_file]"); return 0; } conf.setoutputkeyclass(text.class); conf.setoutputvalueclass(intwritable.class); conf.setmapperclass(map.class); conf.setcombinerclass(reduce.class); conf.setreducerclass(reduce.class); conf.setinputformat(textinputformat.class); conf.setoutputformat(textoutputformat.class); List<String> other_args = new ArrayList<String>(); for (int i = 0; i < args.length; ++i) { if ("-skip".equals(args[i])) { DistributedCache.addCacheFile(new Path(args[++i]).toUri(), conf); conf.setboolean("wordcount.skip.patterns", true); } else {other_args.add(args[i]); } } FileInputFormat.setInputPaths(conf, new Path(other_args.get(0))); FileOutputFormat.setOutputPath(conf, new Path(other_args.get(1))); CheckAndDelete.checkAndDelete(other_args.get(1), conf); JobClient.runJob(conf); return 0; } public static void main(string[] args) throws Exception { int res = ToolRunner.run(new Configuration(), new WordCountV2(), args); }} System.exit(res); 124

125 說明 : 範例六 (1) WordIndex 將每個字出於哪個檔案, 那一行印出來 測試方法 : 將此程式運作在 hadoop 0.20 平台上, 執行 : hadoop jar WI.jar WordIndex <input> <output> 注意 : 1. 在 hdfs 上來源檔案的路徑為你所指定的 <input> 請注意必須先放資料到此 hdfs 上的資料夾內, 且此資料夾內只能放檔案, 不可再放資料夾 2. 運算完後, 程式將執行結果放在 hdfs 的輸出路徑為你所指定的 <output> 125

126 public class WordIndex { public static class wordindexm extends Mapper<LongWritable, Text, Text, Text> { public void map(longwritable key, Text value, Context context) throws IOException, InterruptedException { FileSplit filesplit = (FileSplit) context.getinputsplit(); 範例六 (2) static public class wordindexr extends Reducer<Text, Text, Text, Text> { public void reduce(text key, Iterable<Text> values, OutputCollector<Text, Text> output, Reporter reporter) throws IOException { String v = ""; Text map_key = new Text(); StringBuilder ret = new StringBuilder("\n"); Text map_value = new Text(); for (Text val : values) { String line = value.tostring(); v += val.tostring().trim(); StringTokenizer st = new StringTokenizer(line.toLowerCase()); if (v.length() > 0) while (st.hasmoretokens()) { ret.append(v + "\n"); String word = st.nexttoken(); } map_key.set(word); output.collect((text) key, new map_value.set(filesplit.getpath().getname() + Text(ret.toString())); ":" + line); } } context.write(map_key, map_value); } } } 126

127 範例六 (2) public static void main(string[] args) throws IOException, InterruptedException, ClassNotFoundException { Configuration conf = new Configuration(); String[] otherargs = new GenericOptionsParser(conf, args).getremainingargs(); if (otherargs.length < 2) { System.out.println("hadoop jar WordIndex.jar <indir> <outdir>"); return; } Job job = new Job(conf, "word index"); job.setjobname("word inverted index"); job.setjarbyclass(wordindex.class); job.setmapoutputkeyclass(text.class); job.setmapoutputvalueclass(text.class); job.setoutputkeyclass(text.class); job.setoutputvalueclass(text.class); job.setmapperclass(wordindexm.class); job.setreducerclass(wordindexr.class); job.setcombinerclass(wordindexr.class); FileInputFormat.setInputPaths(job, args[0]); CheckAndDelete.checkAndDelete(args[1], conf); FileOutputFormat.setOutputPath(job, new Path(args[1])); }} long start = System.nanoTime(); job.waitforcompletion(true); long time = System.nanoTime() - start; System.err.println(time * (1E-9) + " secs."); 127

128 範例七 (1) YourMenu 說明 : 將之前的功能整合起來 測試方法 : 將此程式運作在 hadoop 0.20 平台上, 執行 : hadoop jar YourMenu.jar < 功能 > 注意 : 1. 此程式需與之前的所有範例一起打包成一個 jar 檔 128

129 範例七 (2) public class YourMenu { public static void main(string argv[]) { int exitcode = -1; ProgramDriver pgd = new ProgramDriver(); if (argv.length < 1) { System.out.print("********************************** ********\n" + " 歡迎使用 NCHC 的運算功能 \n" + " 指令 : \n" + " Hadoop jar NCHC-example-*.jar < 功能 > \n" + " 功能 : \n" + " HelloHadoop: 秀出 Hadoop 的 <Key,Value> 為何 \n" + " HelloHadoopV2: 秀出 Hadoop 的 <Key,Value> 進階版 \n" + " HelloHadoopV3: 秀出 Hadoop 的 <Key,Value> 進化版 \n" + " WordCount: 計算輸入資料夾內分別在每個檔案的字數統計 \n" + " WordCountV2: WordCount 進階版 \n" + " WordIndex: 索引每個字與其所有出現的所在列 \n" + "******************************************\n"); } else { try { }}}} pgd.addclass("hellohadoop", HelloHadoop.class, " Hadoop hello world"); pgd.addclass("hellohadoopv2", HelloHadoopV2.class, " Hadoop hello world V2"); pgd.addclass("hellohadoopv3", HelloHadoopV3.class, " Hadoop hello world V3"); pgd.addclass("wordcount", WordCount.class, " word count."); pgd.addclass("wordcountv2", WordCountV2.class, " word count V2."); pgd.addclass("wordindex", WordIndex.class, "invert each word in line"); pgd.driver(argv); // Success exitcode = 0; System.exit(exitCode); } catch (Throwable e) { e.printstacktrace(); 129

130 補充 Program Prototype (v 0.18) Map 區 Reduce 區 設定區 Class MR{ Class Mapper { } Class Reducer { } main(){ Map 程式碼 Reduce 程式碼 JobConf conf = new JobConf( MR.class ); conf.setmapperclass(mapper.class); conf.setreduceclass(reducer.class); FileInputFormat.setInputPaths(conf, new Path(args[0])); FileOutputFormat.setOutputPath(conf, new Path(args[1])); 其他的設定參數程式碼 }} JobClient.runJob(conf); 130

131 補充 Class Mapper (v0.18) import org.apache.hadoop.mapred.*; class MyMap extends MapReduceBase INPUT INPUT OUTPUT OUTPUT implements Mapper < KEY, VALUE, KEY, VALUE > { // 全域變數區 INPUT INPUT public void map ( KEY key, VALUE value, OUTPUT OUTPUT OutputCollector<, > output, KEY VALUE Reporter reporter) throws IOException { // 區域變數與程式邏輯區 output.collect( NewKey, NewValue); } } 131

132 補充 Class Reducer (v0.18) import org.apache.hadoop.mapred.*; class MyRed extends MapReduceBase INPUT INPUT OUTPUT OUTPUT implements Reducer < KEY, VALUE, KEY, VALUE > { // 全域變數區 INPUT KEY INPUT public void reduce ( key, Iterator< VALUE > values, OUTPUT OUTPUT OutputCollector<, > output, KEY VALUE Reporter reporter) throws IOException { // 區域變數與程式邏輯區 output.collect( NewKey, NewValue); } } 132

133 Conclusions 以上範例程式碼包含 Hadoop 的 key,value 架構 操作 Hdfs 檔案系統 Map Reduce 運算方式 執行 hadoop 運算時, 程式檔不用上傳至 hadoop 上, 但資料需要再 HDFS 內 可運用範例七的程式達成連續運算 Hadoop 0.20 與 Hadoop 0.18 有些 API 有些許差異, 因此在網路上找到 Hadoop 的程式如果 compiler 有錯, 可以換換對應的 Function 試試 133

134 透過一些使用 Hadoop 的案例帶給大家一些新的啟發

135 A: : 用 Hadoop 打造 Location Plus 2009/11/17 Location Plus! 服務, 擊敗了其他 38 組作品獲得 Yahoo 開發競賽的優勝 從大量的批踢踢 BBS 文章中, 找出臺灣 17 個城市的熱門話題 每個城市提供 30 個熱門話題和相關的參考詞 可以讓使用者用這些熱門話題來搜尋 Yahoo 知識 + 生活 + 無名小站等內容 提供了手機版介面, 讓使用者到任何地方就知道當地有哪些熱門話題 135

136 A:Location Plus 用 RSS 蒐集批踢踢 BBS 站的十大熱門看板的文章, 約 20 萬筆文章記錄 維基百科提供的 30 萬筆詞條作為關鍵詞 將所有關鍵詞套用到所有文章紀錄, 共需 600 億次比對 ( 還不包含排序..)) 這些都交給 Hadoop 吧! 136

137 B:Yahoo 使用 Hadoop 平台來發現發送垃圾郵件的殭屍網絡 (1) 垃圾郵件網站 (2) 垃圾郵件 (3) 垃圾郵件軟體 (4) 被感染的電腦 (5) 病毒或木馬 (6) 信件伺服器 (7) 用戶 (8) 網路流量 137

138 C: : 警訊整合系統 目的 : 將原本複雜難懂的警訊日誌整合成易於明瞭的報告 透過 雲端 來運算大量資料 環境 : hadoop 0.20 Java 1.6 Apache 2 138

139 輸入資料 [**] [1:538:15] NETBIOS SMB IPC$ unicode share access [**] [Classification: Generic Protocol Command Decode] [Priority: 3] 09/04-17:53: :1051 -> :139 TCP TTL:128 TOS:0x0 ID:4000 IpLen:20 DgmLen:138 DF ***AP*** Seq: 0x2E589B8 Ack: 0x642D47F9 Win: 0x4241 TcpLen: 20 [**] [1:1917:6] SCAN UPnP service discover attempt [**] [Classification: Detection of a Network Scan] [Priority: 3] 09/04-17:53: :1032 -> :1900 UDP TTL:1 TOS:0x0 ID:80 IpLen:20 DgmLen:161 Len: 133 [**] [1:1917:6] SCAN UPnP service discover attempt [**] [Classification: Detection of a Network Scan] [Priority: 3] 09/04-17:53: :1032 -> :1900 UDP TTL:1 TOS:0x0 ID:82 IpLen:20 DgmLen:161 Len: 133 [**] [1:1917:6] SCAN UPnP service discover attempt [**] [Classification: Detection of a Network Scan] [Priority: 3] 09/04-17:53: :1032 -> :1900 UDP TTL:1 TOS:0x0 ID:84 IpLen:20 DgmLen:161 Len: 133 [**] [1:1917:6] SCAN UPnP service discover attempt [**] [Classification: Detection of a Network Scan] [Priority: 3] 09/04-17:53: : > :1900 UDP TTL:1 TOS:0x0 ID:105 IpLen:20 DgmLen:161 Len: 133 [**] [1:1917:6] SCAN UPnP service discover attempt [**] [Classification: Detection of a Network Scan] [Priority: 3] 09/04-17:53: : > :1900 UDP TTL:1 TOS:0x0 ID:117 IpLen:20 DgmLen:160 Len: 132 [**] [1:1917:6] SCAN UPnP service discover attempt [**] [Classification: Detection of a Network Scan] [Priority: 3] 09/04-17:53: : > :1900 UDP TTL:1 TOS:0x0 ID:118 IpLen:20 DgmLen:161 Len: 133 [**] [1:2351:10] NETBIOS DCERPC ISystemActivator path overflow attempt little endian unicode [**] [Classification: Attempted Administrator Privilege Gain] [Priority: 1] 09/04-17:53: : > :135 TCP TTL:105 TOS:0x0 ID:49809 IpLen:20 DgmLen:1420 DF ***A**** Seq: 0xF9589BBF Ack: 0x82CCF5B7 Win: 0xFFFF TcpLen: 20 [Xref => => => => 139

140 輸出資料 Generate dot graph format 140

141 系統分析 前處理 輸入資料 Map Reduce 運算 後續處理 網頁介面 瀏覽結果報告 141

142 Alert Merge Example Destination IP Attack Signature Source IP Destination Port Source Port Packet Protocol Timestamp Host_1 Trojan Sip tcp T1 Host_1 Trojan Sip tcp T2 Host_1 Trojan Sip tcp T3 Host_2 Trojan Sip tcp T4 Host_3 D.D.O.S Sip udp T5 Host_3 D.D.O.S Sip tcp T5 Host_3 D.D.O.S Sip udp T5 Host_3 D.D.O.S Sip tcp T5 Key Values Host_1 Trojan Sip1,Sip2 80, ,5002 tcp T1,T2,T3 Host_2 Trojan Sip tcp T4 Host_3 D.D.O.S. Sip3,Sip4,Sip5,Sip ,6008 tcp, udp T5 142

143 程式流程圖 Snort Logs Source Regulation Integrate Alert Final Report Correlation Record Merge Extenstion 143

144 Conclusions 評估 系統分析 輸入輸出 系統元件 各元件參數與串流 實做 多次運算 前處理與後處理 144

145

Hadoop 的 MapReduce API 提 供 自 動 的 平 行 化 與 工 作 分 配 容 錯 特 性 狀 態 監 控 工 具 一 個 乾 淨 的 抽 象 化 (abstration) 供 程 式 設 計 師 使 用 97

Hadoop 的 MapReduce API 提 供 自 動 的 平 行 化 與 工 作 分 配 容 錯 特 性 狀 態 監 控 工 具 一 個 乾 淨 的 抽 象 化 (abstration) 供 程 式 設 計 師 使 用 97 Hadoop 程 式 設 計 五 開 發 Hadoop Map/Reduce 程 式 設 計 者 只 需 要 解 決 真 實 的 問 題, 架 構 面 留 給 MapReduce 96 Hadoop 的 MapReduce API 提 供 自 動 的 平 行 化 與 工 作 分 配 容 錯 特 性 狀 態 監 控 工 具 一 個 乾 淨 的 抽 象 化 (abstration) 供 程 式 設 計

More information

投影片 1

投影片 1 Map-Reduce Programming 王耀聰陳威宇 jazz@nchc.org.tw waue@nchc.org.tw 國家高速網路與計算中心 (NCHC) 自由軟體實驗室 Outline 概念 程式基本框架及執行步驟方法 範例一 : Hadoop 的 Hello World => Word Count 說明 動手做 範例二 : 進階版 => Word Count 2 說明 動手做 2 程式基本框架

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

Hadoop 集 群 ( 第 6 期 ) WordCount 运 行 详 解 1 MapReduce 理 论 简 介 1.1 MapReduce 编 程 模 型 MapReduce 采 用 分 而 治 之 的 思 想, 把 对 大 规 模 数 据 集 的 操 作, 分 发 给 一 个 主 节 点 管

Hadoop 集 群 ( 第 6 期 ) WordCount 运 行 详 解 1 MapReduce 理 论 简 介 1.1 MapReduce 编 程 模 型 MapReduce 采 用 分 而 治 之 的 思 想, 把 对 大 规 模 数 据 集 的 操 作, 分 发 给 一 个 主 节 点 管 细 细 品 味 Hadoop Hadoop 集 群 ( 第 6 期 ) 精 华 集 锦 csaxp 虾 皮 工 作 室 http://www.cnblogs.com/xia520pi/ 2012 年 5 月 15 日 Hadoop 集 群 ( 第 6 期 ) WordCount 运 行 详 解 1 MapReduce 理 论 简 介 1.1 MapReduce 编 程 模 型 MapReduce 采

More information

Java ¿ª·¢ 2.0: Óà Hadoop MapReduce ½øÐдóÊý¾Ý·ÖÎö

Java ¿ª·¢ 2.0: Óà Hadoop MapReduce ½øÐдóÊý¾Ý·ÖÎö 中 文 登 录 ( 或 注 册 ) 技 术 主 题 软 件 下 载 社 区 技 术 讲 座 搜 索 developerworks developerworks 技 术 主 题 Java technology 文 档 库 Java 开 发 2.0: 用 Hadoop MapReduce 进 行 大 数 据 分 析 成 堆 的 数 据 如 何 变 成 信 息 金 矿 Andrew Glover, 作 家

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

关于天云趋势 天云趋势由宽带资本和趋势科技共同投资成立于 2010 年 3 月 趋势科技是 Hadoop 的重度使用者 : 2006 年开始使用, 用于处理网页和邮件服务器评级 五个数据中心, 近 1000 个节点, 最大集群约 500 台服务器 日均处理 3.6T 日志数据 亚洲最早, 也是最大的

关于天云趋势 天云趋势由宽带资本和趋势科技共同投资成立于 2010 年 3 月 趋势科技是 Hadoop 的重度使用者 : 2006 年开始使用, 用于处理网页和邮件服务器评级 五个数据中心, 近 1000 个节点, 最大集群约 500 台服务器 日均处理 3.6T 日志数据 亚洲最早, 也是最大的 TCloud Computing Hadoop 开发者培训 关于天云趋势 天云趋势由宽带资本和趋势科技共同投资成立于 2010 年 3 月 趋势科技是 Hadoop 的重度使用者 : 2006 年开始使用, 用于处理网页和邮件服务器评级 五个数据中心, 近 1000 个节点, 最大集群约 500 台服务器 日均处理 3.6T 日志数据 亚洲最早, 也是最大的代码贡献者 HBase 0.92 新功能的主要开发者

More information

目录 1 本期内容 MapReduce 理论简介 MapReduce 编程模型 MapReduce 处理过程 运行 WordCount 程序 准备工作 运行例子

目录 1 本期内容 MapReduce 理论简介 MapReduce 编程模型 MapReduce 处理过程 运行 WordCount 程序 准备工作 运行例子 细细品味 Hadoop Hadoop 集群 ( 第 6 期 ) 精华集锦 csaxp http://www.xiapistudio.com/ 2012 年 3 月 1 日 目录 1 本期内容... 2 1.1 MapReduce 理论简介... 2 1.1.1 MapReduce 编程模型... 2 1.1.2 MapReduce 处理过程... 2 1.2 运行 WordCount 程序... 3

More information

MapReduce

MapReduce MapReduce 陳威宇 Review Hadoop Hdfs Datanode Namenode files / blocks Data locality ( 在地運算 ) 2 Outline What is MapReduce Process flow Yarn Configuration Java programing 3 MapReduce Introduction Objective :

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

PowerPoint Presentation

PowerPoint Presentation 雲端入侵偵測日誌分析平台 Part-7 : Building IDS-log Cloud Analysis System (ICAS) Yao-Tsung Wang jazz@nchc.org.tw Wei-Yu Chen waue@nchc.org.tw 1 專家說 : 雲端每個環節都有安全問題 2 雲端資安的範疇 用雲端處理資安 Dealing Security issues using Cloud

More information

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I 2004 5 IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I Abstract The techniques of digital video processing, transferring

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

自由軟體教學平台

自由軟體教學平台 NCHC Opensource task force DRBL steven@nchc.gov.tw, c00hkl00@nchc.gov.tw National Center for High-Performance Computing http://www.nchc.gov.tw Jan, 2003 1 2003/1/28 ( ) 09:00-10:30 10:40-12:00 Linux 13:00-14:30

More information

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南 Symantec Sygate Enterprise Protection 防 护 代 理 安 装 使 用 指 南 5.1 版 版 权 信 息 Copyright 2005 Symantec Corporation. 2005 年 Symantec Corporation 版 权 所 有 All rights reserved. 保 留 所 有 权 利 Symantec Symantec 徽 标 Sygate

More information

自由軟體教學平台

自由軟體教學平台 NCHC Opensource task force Steven Shiau steven@nchc.gov.tw National Center for High-Performance Computing Sep 10, 2002 1 Outline 1. 2. 3. Service DHCP, TFTP, NFS, NIS 4. 5. 2 DRBL (diskless remote boot

More information

LAMP system and relative tools like SNMP, Expect, Nmap, etc. to build a cross- platform, lo

LAMP system and relative tools like SNMP, Expect, Nmap, etc. to build a cross- platform, lo cchu@ttu.edu.tw jacklin@ttu.edu.tw twt@mail.chihlee.edu.tw LAMP system and relative tools like SNMP, Expect, Nmap, etc. to build a cross- platform, low cost and modulized monitoring, managing, and recovering

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

自由軟體教學平台

自由軟體教學平台 NCHC Opensource task force DRBL c00hkl00@nchc.gov.tw, steven@nchc.gov.tw National Center for High-Performance Computing http://www.nchc.gov.tw Dec, 2002 1 Outline 1. 2. DRBL 3. 4. Service DHCP, TFTP, NFS,

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Hadoop 生 态 技 术 在 阿 里 全 网 商 品 搜 索 实 战 阿 里 巴 巴 - 王 峰 自 我 介 绍 真 名 : 王 峰 淘 宝 花 名 : 莫 问 微 博 : 淘 莫 问 2006 年 硕 士 毕 业 后 加 入 阿 里 巴 巴 集 团 淘 及 搜 索 事 业 部 ( 高 级 技 术 与 家 ) 目 前 负 责 搜 索 离 线 系 统 团 队 技 术 方 向 : 分 布 式 计 算

More information

白 皮 书 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 目 录 要 点 概 述...1 业 务 挑 战...2 Hadoop* 分 发 版 注 意 事 项...3 Hadoop* 基 础 架 构 注 意 事 项

白 皮 书 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 目 录 要 点 概 述...1 业 务 挑 战...2 Hadoop* 分 发 版 注 意 事 项...3 Hadoop* 基 础 架 构 注 意 事 项 IT@Intel 白 皮 书 英 特 尔 IT 部 门 大 数 据 和 商 业 智 能 2013 年 10 月 英 特 尔 IT 部 门 实 施 Apache Hadoop* 英 特 尔 分 发 版 软 件 的 最 佳 实 践 要 点 概 述 仅 在 五 周 之 内, 我 们 就 实 施 了 基 于 Apache Hadoop* 英 特 尔 分 发 版 的 低 成 本 可 完 全 实 现 的 大 数

More information

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示

ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示 完整的大数据解決方案 ABOUT ME AGENDA 唐建法 / TJ MongoDB 高级方案架构师 MongoDB 中文社区联合发起人 Spark 介绍 Spark 和 MongoDB 案例演示 Dataframe Pig YARN Spark Stand Alone HDFS Spark Stand Alone Mesos Mesos Spark Streaming Hive Hadoop

More information

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM Oracle Solaris Studio 12.2 DLight 2010 9 2 2 3 DLight 3 3 6 13 CPU 16 18 21 I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AMP Apache MySQL

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

DPark MapReduce (Davies) davies@douban.com 2011/12/07 Velocity China 2011 Douban Douban 5500 Douban 5500 1000G, Douban 5500 1000G, 60+ Douban 5500 1000G, 60+ 200+ Douban 5500 1000G, 60+ 200+ > MooseFS

More information

Microsoft PowerPoint - hbase_program(0201).ppt

Microsoft PowerPoint - hbase_program(0201).ppt TSMC 教育訓練課程 HBase Programming < V 0.20 > 王耀聰陳威宇 Jazz@nchc.org.tw waue@nchc.org.tw Outline HBase 程式編譯方法 HBase 程式設計 常用的 HBase API 說明實做 I/O 操作搭配 Map Reduce 運算 其他用法補充 其他專案 2 HBase 程式編譯方法 此篇介紹兩種編譯與執行 HBase

More information

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco Windows RTEMS 1 Danilliu MMI TCP/IP 80486 QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos ecos Email www.rtems.com RTEMS ecos RTEMS RTEMS Windows

More information

培 训 机 构 介 绍 中 科 普 开 是 国 内 首 家 致 力 于 IT 新 技 术 领 域 的 领 航 者, 专 注 于 云 计 算 大 数 据 物 联 网 移 动 互 联 网 技 术 的 培 训, 也 是 国 内 第 一 家 开 展 Hadoop 云 计 算 的 培

培 训 机 构 介 绍  中 科 普 开 是 国 内 首 家 致 力 于 IT 新 技 术 领 域 的 领 航 者, 专 注 于 云 计 算 大 数 据 物 联 网 移 动 互 联 网 技 术 的 培 训, 也 是 国 内 第 一 家 开 展 Hadoop 云 计 算 的 培 Hadoop 2.0 培 训 Hadoop 2.0Training Hadoop 2.0 运 维 与 开 发 实 战 培 训 邀 请 函 培 训 机 构 介 绍 www.zkpk.org 中 科 普 开 是 国 内 首 家 致 力 于 IT 新 技 术 领 域 的 领 航 者, 专 注 于 云 计 算 大 数 据 物 联 网 移 动 互 联 网 技 术 的 培 训, 也 是 国 内 第 一 家 开

More information

F4

F4 DOI:10.3969/j.issn.1009-6868.2016.01.002 网 络 出 版 地 址 :http://www.cnki.net/kcms/detail/34.1228.tn.20151117.1506.006.html Challenges and Countermeasures of Network Space Security 周 延 森 /ZHOU Yansen 周 琳 娜

More information

软件测试(TA07)第一学期考试

软件测试(TA07)第一学期考试 一 判 断 题 ( 每 题 1 分, 正 确 的, 错 误 的,20 道 ) 1. 软 件 测 试 按 照 测 试 过 程 分 类 为 黑 盒 白 盒 测 试 ( ) 2. 在 设 计 测 试 用 例 时, 应 包 括 合 理 的 输 入 条 件 和 不 合 理 的 输 入 条 件 ( ) 3. 集 成 测 试 计 划 在 需 求 分 析 阶 段 末 提 交 ( ) 4. 单 元 测 试 属 于 动

More information

目次 

目次  軟 體 工 程 期 末 報 告 網 路 麻 將 91703014 資 科 三 黃 偉 嘉 91703024 資 科 三 丘 祐 瑋 91703030 資 科 三 江 致 廣 1 目 次 壹 前 言 (Preface) P.4 貳 計 畫 簡 述 及 預 期 效 益 (Project Description and Expected Results) P.4 參 系 統 開 發 需 求 (System

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile.. WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center

More information

三种方法实现Hadoop(MapReduce)全局排序(1)

三种方法实现Hadoop(MapReduce)全局排序(1) 三种方法实现 Hadoop(MapReduce) 全局排序 () 三种方法实现 Hadoop(MapReduce) 全局排序 () 我们可能会有些需求要求 MapReduce 的输出全局有序, 这里说的有序是指 Key 全局有序 但是我们知道,MapReduce 默认只是保证同一个分区内的 Key 是有序的, 但是不保证全局有序 基于此, 本文提供三种方法来对 MapReduce 的输出进行全局排序

More information

Microsoft PowerPoint - Big Data rc Sharing掃盲時間.ppt [相容模式]

Microsoft PowerPoint - Big Data rc Sharing掃盲時間.ppt [相容模式] Big Data RC Sharing 大數據掃盲 Service Planner of Enterprise Big Data 大 數 據 服 務 規 劃 師 企 業 大 數 據 課 程 規 劃 依 照 企 業 資 料 流 程 的 特 殊 性, 安 排 合 適 的 課 程 協 助 企 業 導 入 應 用 大 數 據 案 例 :Etu 資 策 會 平 安 保 險 湖 南 國 防 科 技 大 學 等

More information

Microsoft Word - PS2_linux_guide_cn.doc

Microsoft Word - PS2_linux_guide_cn.doc Linux For $ONY PlayStatioin2 Unofficall General Guide Language: Simplified Chinese First Write By Beter Hans v0.1 Mail: hansb@citiz.net Version: 0.1 本 人 是 菜 鸟 + 小 白 欢 迎 指 正 错 误 之 处, 如 果 您 有 其 他 使 用 心 得

More information

untitled

untitled LBS Research and Application of Location Information Management Technology in LBS TP319 10290 UDC LBS Research and Application of Location Information Management Technology in LBS , LBS PDA LBS

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

13 A DSS B DSS C DSS D DSS A. B. C. CPU D. 15 A B Cache C Cache D L0 L1 L2 Cache 16 SMP A B. C D 17 A B. C D A B - C - D

13 A DSS B DSS C DSS D DSS A. B. C. CPU D. 15 A B Cache C Cache D L0 L1 L2 Cache 16 SMP A B. C D 17 A B. C D A B - C - D 2008 1 1 A. B. C. D. UML 2 3 2 A. B. C. D. 3 A. B. C. D. UML 4 5 4 A. B. C. D. 5 A. B. C. D. 6 6 A. DES B. RC-5 C. IDEA D. RSA 7 7 A. B. C. D. TCP/IP SSL(Security Socket Layer) 8 8 A. B. C. D. 9 9 A. SET

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

PowerPoint Presentation

PowerPoint Presentation 雲端運算簡介 王耀聰陳威孙 Jazz@nchc.org.tw waue@nchc.org.tw 2008. 04. 27-28 國家高速網路與計算中心 (NCHC) 1 自由軟體實驗室 雲端運算?? 2 雲端服務 信件 影音 文書處理 相簿 3 4 雲端運算的架構 User Level User-Level Middleware Core Middleware 應用 Social Computing,

More information

Eclipse C C++, or

Eclipse C C++,  or Eclipse C C++, Emailctchen@pl.csie.ntut.edu.tw or s1669021@ntut.edu.tw, s2598003@ntut.edu.tw http://pl.csie.ntut.edu.tw/~ctchen, http://www.ntut.edu.tw/~s2598003/ 2004/9/10 (0.02 ) Eclipse http://www.eclipse.org

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co BYOD 228 2015 IT open source DIY ( ) Up/Down HP NNMi WhatsUp Gold Nagios HP SiteScope WhatsUp Gold HP NNMi WhatsUp Gold Cacti MRTG HP ispi Performance for Metrics WhatsUp Gold ( ) Open source Agent End-to-End

More information

ebook140-11

ebook140-11 11 VPN Windows NT4 B o r d e r M a n a g e r VPN VPN V P N V P N V P V P N V P N TCP/IP 11.1 V P N V P N / ( ) 11.1.1 11 V P N 285 2 3 1. L A N LAN V P N 10MB 100MB L A N VPN V P N V P N Microsoft PPTP

More information

Microsoft PowerPoint - Aqua-Sim.pptx

Microsoft PowerPoint - Aqua-Sim.pptx Peng Xie, Zhong Zhou, Zheng Peng, Hai Yan, Tiansi Hu, Jun-Hong Cui, Zhijie Shi, Yunsi Fei, Shengli Zhou Underwater Sensor Network Lab 1 Outline Motivations System Overview Aqua-Sim Components Experimental

More information

AL-M200 Series

AL-M200 Series NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel

More information

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673 Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1 - Contents MicroSCADA Pro Portal Marketing and sales Ordering MicroSCADA Pro Partners Club 2005 ABB - 2 - MicroSCADA Pro - Portal Imagine that

More information

IP505SM_manual_cn.doc

IP505SM_manual_cn.doc IP505SM 1 Introduction 1...4...4...4...5 LAN...5...5...6...6...7 LED...7...7 2...9...9...9 3...11...11...12...12...12...14...18 LAN...19 DHCP...20...21 4 PC...22...22 Windows...22 TCP/IP -...22 TCP/IP

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

ebook140-8

ebook140-8 8 Microsoft VPN Windows NT 4 V P N Windows 98 Client 7 Vintage Air V P N 7 Wi n d o w s NT V P N 7 VPN ( ) 7 Novell NetWare VPN 8.1 PPTP NT4 VPN Q 154091 M i c r o s o f t Windows NT RAS [ ] Windows NT4

More information

C6_ppt.PDF

C6_ppt.PDF C01-202 1 2 - (Masquerade) (Replay) (Message Modification) (Denial of Service) - ( ) (Eavesdropping) (Traffic Analysis) 8 1 2 7 3 6 5 4 3 - TCP SYN (SYN flood) Smurf Ping of Death LAND Attack Teardrop

More information

Value Chain ~ (E-Business RD / Pre-Sales / Consultant) APS, Advanc

Value Chain ~ (E-Business RD / Pre-Sales / Consultant) APS, Advanc Key @ Value Chain fanchihmin@yahoo.com.tw 1 Key@ValueChain 1994.6 1996.6 2000.6 2000.10 ~ 2004.10 (E- RD / Pre-Sales / Consultant) APS, Advanced Planning & Scheduling CDP, Collaborative Demand Planning

More information

Chapter 2

Chapter 2 2 (Setup) ETAP PowerStation ETAP ETAP PowerStation PowerStation PowerPlot ODBC SQL Server Oracle SQL Server Oracle Windows SQL Server Oracle PowerStation PowerStation PowerStation PowerStation ETAP PowerStation

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

untitled

untitled Chapter 01 1.0... 1-2 1.1... 1-2 1.1.1...1-2 1.1.2...1-4 1.1.2.1... 1-6 1.1.2.2... 1-7 1.1.2.3... 1-7 1.1.2.4... 1-7 1.1.2.5... 1-8 1.1.2.6... 1-8 1.1.3??...1-8 1.1.4...1-9 1.2...1-12 1.3...1-14 1.4...1-17

More information

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii 前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time

More information

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访

1. 访 问 最 新 发 行 公 告 信 息 jconnect for JDBC 7.0 1. 访 问 最 新 发 行 公 告 信 息 最 新 版 本 的 发 行 公 告 可 以 从 网 上 获 得 若 要 查 找 在 本 产 品 发 布 后 增 加 的 重 要 产 品 或 文 档 信 息, 请 访 发 行 公 告 jconnect for JDBC 7.0 文 档 ID:DC74874-01-0700-01 最 后 修 订 日 期 :2010 年 3 月 2 日 主 题 页 码 1. 访 问 最 新 发 行 公 告 信 息 2 2. 产 品 摘 要 2 3. 特 殊 安 装 说 明 2 3.1 查 看 您 的 jconnect 版 本 3 4. 特 殊 升 级 指 导 3 4.1 迁 移 3

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) 09 (File Processes) 9-1 9-2 (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) Java Servlet 9-1 Servlet (File Processes) Client Servlet Servlet Java Java (Stream)

More information

Progress Report of BESIII Slow Control Software Development

Progress Report of BESIII Slow Control Software Development BESIII 慢控制系统高压和 VME 监控 系统的设计和实现 陈锡辉 BESIII 慢控制组 2006-4-27 Outline Design and implementation of HV system Features Implementation Brief introduction to VME system Features Implementation of a demo Tasks

More information

The golden pins of the PCI card can be oxidized after months or years

The golden pins of the PCI card can be oxidized after months or years Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/

More information

OOAD PowerDesigner OOAD Applying PowerDesigner CASE Tool in OOAD PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE To

OOAD PowerDesigner OOAD Applying PowerDesigner CASE Tool in OOAD PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE To PowerDesigner Applying PowerDesigner CASE Tool in OOAD albertchung@mpinfo.com.tw PowerDesigner CASE Tool PowerDesigner PowerDesigner CASE Tool PowerDesigner CASE Tool CASE Tool PowerDesignerUnified ProcessUMLing

More information

Microsoft Word - 103-4 記錄附件

Microsoft Word - 103-4 記錄附件 國 立 虎 尾 技 大 103 年 度 第 4 次 教 務 會 議 記 錄 附 件 中 華 民 國 104 年 6 月 16 日 受 文 者 : 國 立 虎 尾 技 大 發 文 日 期 : 中 華 民 國 104 年 5 月 28 日 發 文 字 號 : 臺 教 技 ( 二 ) 字 第 1040058590 號 速 別 : 最 速 件 密 等 及 解 密 條 件 或 保 密 期 限 : 附 件 :

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

4. 每 组 学 生 将 写 有 习 语 和 含 义 的 两 组 卡 片 分 别 洗 牌, 将 顺 序 打 乱, 然 后 将 两 组 卡 片 反 面 朝 上 置 于 课 桌 上 5. 学 生 依 次 从 两 组 卡 片 中 各 抽 取 一 张, 展 示 给 小 组 成 员, 并 大 声 朗 读 卡

4. 每 组 学 生 将 写 有 习 语 和 含 义 的 两 组 卡 片 分 别 洗 牌, 将 顺 序 打 乱, 然 后 将 两 组 卡 片 反 面 朝 上 置 于 课 桌 上 5. 学 生 依 次 从 两 组 卡 片 中 各 抽 取 一 张, 展 示 给 小 组 成 员, 并 大 声 朗 读 卡 Tips of the Week 课 堂 上 的 英 语 习 语 教 学 ( 二 ) 2015-04-19 吴 倩 MarriottCHEI 大 家 好! 欢 迎 来 到 Tips of the Week! 这 周 我 想 和 老 师 们 分 享 另 外 两 个 课 堂 上 可 以 开 展 的 英 语 习 语 教 学 活 动 其 中 一 个 活 动 是 一 个 充 满 趣 味 的 游 戏, 另 外

More information

.. 3 N

.. 3 N 1 .. 3 N9.. 4 5.. 6 7.. 8 20.. 21 23.. 24.. 25 26.. 27.. 28.. 29 2 (Cyber Café) Linux (LAN) Linux Public Home 3 K12LTSP K12LTSPFedora Core 4 (Linux)LTSP Linux (command line interface) (Graphical User Interface,

More information

ebook140-9

ebook140-9 9 VPN VPN Novell BorderManager Windows NT PPTP V P N L A V P N V N P I n t e r n e t V P N 9.1 V P N Windows 98 Windows PPTP VPN Novell BorderManager T M I P s e c Wi n d o w s I n t e r n e t I S P I

More information

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與 程 式 編 写 語 言 在 完 成 這 章 後, 你 將 能 夠 了 解 程 式 編 写 語 言 的 功 能 了 解 高 階 語 言 和 低 階 語 言 之 間 的 分 別 知 道 翻 譯 程 式 的 意 義 和 能 夠 把 翻 譯 程 式 分 類 為 : 匯 編 程 式 編 譯 程 式 和 解 譯 程 式 認 識 不 同 翻 譯 程 式 的 優 點 和 缺 點 程 式 是 指 揮 電 腦 的 指

More information

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID 58 2016. 14 * LireSolr LireSolr CEDD Ajax CSpace LireSolr CEDD Abstract In order to offer better image support services it is necessary to extend the image retrieval function of our institutional repository.

More information

CH01.indd

CH01.indd 3D ios Android Windows 10 App Apple icloud Google Wi-Fi 4G 1 ( 3D ) 2 3 4 5 CPU / / 2 6 App UNIX OS X Windows Linux (ios Android Windows 8/8.1/10 BlackBerry OS) 7 ( ZigBee UWB) (IEEE 802.11/a/b/g/n/ad/ac

More information

Microsoft PowerPoint - Performance Analysis of Video Streaming over LTE using.pptx

Microsoft PowerPoint - Performance Analysis of Video Streaming over LTE using.pptx ENSC 427 Communication Networks Spring 2016 Group #2 Project URL: http://www.sfu.ca/~rkieu/ensc427_project.html Amer, Zargham 301149920 Kieu, Ritchie 301149668 Xiao, Lei 301133381 1 Roadmap Introduction

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

A9RF716.tmp

A9RF716.tmp 1 PART I 1 2 3 4 5 6 7 8 Docker Docker Image Container Repository Docker le Docker Docker 8 1 Docker Linux 2 Docker Docker 3 5 Docker 6 Docker volume 7 8 Docker le Docker le 1 C H A P T E R 1 CPU Data

More information

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE Project Properties IDE makefile 1. Oracle Solaris Studio 12.2 IDE 2010 9 2 8 9 10 11 13 20 26 28 30 32 33 Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1. "File" > "New

More information

IT Data-intensive application,iscsi Middl

IT Data-intensive application,iscsi Middl 112-861 2-1-1 163 8677 1 24 2 E-mail: shiori@ogl.is.ocha.ac.jp, sane@cc.kogakuin.ac.jp, oguchi@computer.org IT Data-intensive application,iscsi iddleware for Load Distribution among Cloud Computing Resource

More information

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内 A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内 容 分 发 网 络 Alibaba Cloud Content Delivery Network 一

More information

2013_6_3.indd

2013_6_3.indd 中 国 科 技 资 源 导 刊 ISSN 1674-1544 2013 年 11 月 第 45 卷 第 6 期 95-99, 107 CHINA SCIENCE & TECHNOLOGY RESOURCES REVIEW ISSN 1674-1544 Vol.45 No.6 95-99, 107 Nov. 2013 构 建 基 于 大 数 据 的 智 能 高 校 信 息 化 管 理 服 务 系 统

More information

DocHdl2OnPPMtmpTarget

DocHdl2OnPPMtmpTarget 雲端運算及應用之淺談 ( 上 ) 曾婉菁 印刷科技 Google Google Grid computing Utility computing 1. 2. IBM 3. Microsoft 4. Google 5. NIST 6. Gartner IT as a service 1 1. Private Cloud 2. Public Cloud 3. Hybrid Cloud 4. Community

More information

<4D6963726F736F667420506F776572506F696E74202D2030325FC2B2B3F85FA44AAB49B0BBB4FABB50B977A8BEA874B2CEC2B2A4B6BB50C0B3A5CE2E707074>

<4D6963726F736F667420506F776572506F696E74202D2030325FC2B2B3F85FA44AAB49B0BBB4FABB50B977A8BEA874B2CEC2B2A4B6BB50C0B3A5CE2E707074> 入 侵 偵 測 與 預 防 系 統 簡 介 與 應 用 蕭 翔 之 講 師 BS 7799 LA 課 程 大 綱 第 一 章 認 識 入 侵 偵 測 與 預 防 系 統 第 二 章 入 侵 偵 測 與 預 防 系 統 的 功 能 分 類 偵 測 技 術 第 三 章 入 侵 偵 測 與 預 防 系 統 部 署 架 構 第 四 章 入 侵 偵 測 與 預 防 系 統 的 應 用 效 益 第 五 章 結

More information

Windows XP

Windows XP Windows XP What is Windows XP Windows is an Operating System An Operating System is the program that controls the hardware of your computer, and gives you an interface that allows you and other programs

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

Some experiences in working with Madagascar: installa7on & development Tengfei Wang, Peng Zou Tongji university

Some experiences in working with Madagascar: installa7on & development Tengfei Wang, Peng Zou Tongji university Some experiences in working with Madagascar: installa7on & development Tengfei Wang, Peng Zou Tongji university Map data @ Google Reproducible research in Madagascar How to conduct a successful installation

More information

Microsoft Word - 11月電子報1130.doc

Microsoft Word - 11月電子報1130.doc 發 行 人 : 楊 進 成 出 刊 日 期 2008 年 12 月 1 日, 第 38 期 第 1 頁 / 共 16 頁 封 面 圖 話 來 來 來, 來 葳 格 ; 玩 玩 玩, 玩 數 學 在 11 月 17 到 21 日 這 5 天 裡 每 天 一 個 題 目, 孩 子 們 依 據 不 同 年 段, 尋 找 屬 於 自 己 的 解 答, 這 些 數 學 題 目 和 校 園 情 境 緊 緊 結

More information

Microsoft Word - template.doc

Microsoft Word - template.doc HGC efax Service User Guide I. Getting Started Page 1 II. Fax Forward Page 2 4 III. Web Viewing Page 5 7 IV. General Management Page 8 12 V. Help Desk Page 13 VI. Logout Page 13 Page 0 I. Getting Started

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

Microsoft PowerPoint - Lecture7II.ppt

Microsoft PowerPoint - Lecture7II.ppt Lecture 8II SUDOKU PUZZLE SUDOKU New Play Check 軟體實作與計算實驗 1 4x4 Sudoku row column 3 2 } 4 } block 1 4 軟體實作與計算實驗 2 Sudoku Puzzle Numbers in the puzzle belong {1,2,3,4} Constraints Each column must contain

More information

AL-MX200 Series

AL-MX200 Series PostScript Level3 Compatible NPD4760-00 TC Seiko Epson Corporation Seiko Epson Corporation ( ) Seiko Epson Corporation Seiko Epson Corporation Epson Seiko Epson Corporation Apple Bonjour ColorSync Macintosh

More information

Hadoop&Spark解决二次排序问题(Hadoop篇)

Hadoop&Spark解决二次排序问题(Hadoop篇) Hadoop&Spark 解决二次排序问题 (Spark 篇 ) 问题描述 二次排序就是 key 之间有序, 而且每个 Key 对应的 value 也是有序的 ; 也就是对 MapReduce 的输出 (KEY, Value(v 1,v 2,v 3,...,v n )) 中的 Value(v 1,v 2,v 3,...,v n ) 值进行排序 ( 升序或者降序 ), 使得 Value(s 1,s 2,s

More information

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se 1 SQL Server 2005 DBA Microsoft SQL Server SQL ServerSQL Server SQL Server SQL Server SQL Server SQL Server 2005 SQL Server 2005 SQL Server 2005 o o o SQL Server 2005 1 SQL Server 2005... 3 2 SQL Server

More information

數位教學平台介面操作

數位教學平台介面操作 李 鴻 仁 李 鴻 仁 * 摘 要 本 研 究 利 用 網 際 網 路 環 境 之 關 聯 性 資 料 庫, 建 置 教 師 教 學 檔 案 及 檢 測 平 台 其 後 端 資 料 庫 以 微 軟 公 司 之 SQL SERVER 2005 版 本 建 立 前 端 程 式 則 以 微 軟 公 司 Web 整 合 發 展 工 具 Visual Studio.Net 2005 及 AJAX 技 術 撰

More information

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005 1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005 1 1...3 2...20 3...28 4...41 5 Windows SQL Server...47 Microsoft SQL Server 2005 DBSRV1 Microsoft SQL Server

More information

目 录 1 不 断 开 发 工 具 以 管 理 大 数 据...2 1.1 Hadoop* 简 介 : 支 持 从 大 数 据 中 获 得 出 色 价 值 的 可 靠 框 架... 2 1.2 大 数 据 技 术 的 行 业 生 态 系 统... 2 2 在 关 键 组 件 中 实 现 平 衡...

目 录 1 不 断 开 发 工 具 以 管 理 大 数 据...2 1.1 Hadoop* 简 介 : 支 持 从 大 数 据 中 获 得 出 色 价 值 的 可 靠 框 架... 2 1.2 大 数 据 技 术 的 行 业 生 态 系 统... 2 2 在 关 键 组 件 中 实 现 平 衡... 白 皮 书 英 特 尔 固 态 硬 盘 英 特 尔 以 太 网 融 合 网 络 英 特 尔 Hadoop* 发 行 版 软 件 应 用 大 数 据 技 术 获 得 近 实 时 分 析 巨 大 成 效 1 平 衡 的 基 础 设 施 使 工 作 负 载 完 成 时 间 从 4 小 时 缩 短 为 7 如 今, 基 于 广 泛 可 用 的 计 算 存 储 和 网 络 组 件 的 改 进, 商 业 学 术

More information

ebook

ebook 26 JBuilder RMI Java Remote Method Invocation R M I J a v a - - J a v a J a v J a v a J a v a J a v a R M I R M I ( m a r s h a l ) ( u n m a r c h a l ) C a ff e i n e J a v a j a v a 2 i i o p J a v

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information