使用 Unix 进行数据分析 - 第 1 部分
要了解如何使用 Unix,需要使用数据 - 天气数据集。
天气传感器在全球多个地区一致地收集信息并收集大量日志信息,鉴于需要处理每个信息并且信息被记录,因此使用 MapReduce 进行调查是一个不错的可能性导向型和半组织型。
所使用的信息来自国家气候数据中心或 NCDC。信息使用按行排列的 ASCII 组存放,其中每一行都是一条记录。该组织支持丰富的气象组成部分,其中大量是可自由决定的或具有可变信息长度的。为简单起见,以基本成分为中心,例如温度,它始终存在且宽度固定。
NCDC记录的结构
0057
332130 # USAF weather station identifier
99999 # WBAN weather station identifier
19500101 # observation date
0300 # observation time
4
+51317 # latitude ( degrees x 1000)
+028783 # longitude (degrees x 1000)
FM-12
+0171 # elevation (meters)
99999
V020
320 # wind direction (degrees)
1 # quality code
N 0072
1 00450 # sky ceiling height (meters)
1 # quality code
C
N
010000 # visibility distance (meters)
1 # quality code
N
9
-0128 # air temperature (degrees Celsius x 10)
1 # quality code
-0139 # dew point temperature (degrees Celsius x 10)
1 # quality code
10268 # atmospheric pressure (hectopascals x 10)
1 # quality code
注意 –在我们将要处理的实际文件中,字段被打包成一行,没有分隔符。数据文件按日期和气候站排序。从 1901 年到 2001 年,每年都有一个索引,每个索引都包含每个气候站的 gzip 记录以及该年的读数。
1995 年的第一个条目:
% ls raw/1990 | head
010010-99999-1995.gz
010014-99999-1995.gz
010015-99999-1995.gz
010016-99999-1995.gz
010017-99999-1995.gz
010030-99999-1995.gz
010040-99999-1995.gz
010080-99999-1995.gz
010100-99999-1995.gz
010150-99999-1995.gz
气候站数不胜数,因此整个数据集由大量通常很少的文件组成。处理数量较少的大记录通常更简单,也越来越熟练,因此对信息进行了预处理,目标是将每年的读数链接到一个单独的记录中。