我在看《Hadoop权威指南》时,里面提供了NCDC天气数据样本,提供的下载链接是:点击打开链接,但是里面只提供了1901和1902这两年的数据,这未免也太少了点!完全称不上“BIG DATA”,于是我现在提供一个方法获取1901年到2014年的天气数据样本。在网站:点击打开链接中提供了这些数据包,虽然每一个包都只有几十K,但是数据包太过于多了,原来是太少了,现在是太多了,都是个问题,不可能一个个手动去下载,其实编写几行shell语句就可以轻松解决这个问题!

准备工作:要是在Ubuntu或者是Debian下,应该系统已经安装了wget这个工具了,要是没有安装,可以用下面的命令进行安装:

  1. sudo apt-get install wget

要是在Mac OS X 下,系统是没有默认安装wget的,有两个方法来安装wget,其一是自己手动下载源代码包来自己编译安装,这样的最大问题就是它的依赖包有点多,要一个个编译,很麻烦。所以推荐第二个方法:先用下面的命令安装Homebrew:

  1. ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

安装完成后用下面的命令安装wget:

  1. brew install wget

完成后,在终端输入下列语句,当然也可以先把下列语句保存为一个shell程序文件,并赋予其执行权限,然后再运行。推荐就直接输入:

  1. #! bin/bash
  2. for i in {1901..2014}
  3. do
  4. cd /Users/Guo/Documents/NCDC
  5. wget --execute robots=off -r -np -nH --cut-dirs=3 -R index.html http://ftp3.ncdc.noaa.gov/pub/data/noaa/isd-lite/$i/
  6. cd isd-lite/$i
  7. mkdir -p /Users/Guo/Documents/NCDC/files/$i
  8. cp *.gz /Users/Guo/Documents/NCDC/files/$i
  9. cd /Users/Guo/Documents/NCDC
  10. rm -r isd-lite/
  11. done

简单地解释一下:对变量i从1901到2014递增,做后面的循环操作,“/Users/Guo/Documents/NCDC”以及“/Users/Guo/Documents/NCDC/files”是我自己建的文件夹,来用保存数据,所以呢,你要自己建立文件夹来保存数据,“$i”是对变量i当前值的引用、、、

我已经对不“友好”的部分做了优化,让每一年的数据包存入相对应的文件夹,以前我把所有文件包都放在一个文件夹内,才下几十年的数据一打开文件夹直接把我的Finder拖到假死,几分钟之后才醒来,我的是固态硬盘啊!现在有相应的年份文件夹,方便管理数据!

经过这几天的反复下载与删除,但还是没有下载完成,我发现在下载一个数据包特别多的时候,比如超过一W,bash会报一个Argument list too long的错误,这是因为当前年份文件夹下的数据包太多了,超过了bash的默认值。这导致下载完的数据包没有复制到files文件夹下的年份文件夹下,或者不能删除下载的数据包,要解决这个问题有其他的方法来绕过,但是我觉得太麻烦。我就想,干嘛要复制一次呢,我们直接保存原始下载的文件夹就行了嘛,并且是每个年份是分开存储的!并且我会让wget只保存*.gz文件!于是就有了下面的最新最完美版本!

  1. #! bin/bash
  2. for i in {1901..2014}
  3. do
  4. cd ~/noaa/
  5. wget --execute robots=off -r -np -nH --cut-dirs=4 -R index.html* http://ftp3.ncdc.noaa.gov/pub/data/noaa/isd-lite/$i/
  6. done

转自http://blog.csdn.net/lzslywl/article/details/26678731

hadoop ncdc数据下载方法的更多相关文章

  1. 腾讯QQ群数据下载方法(7000万个qq群资料全泄漏)

    仔细读完一定能找到自己需要的东西 据新华网报道,国内知名安全漏洞监测平台乌云20日公布报告称,腾讯QQ群关系数据被泄露,网上可以轻易就能找到数据下载链接,根据这些数据,通过QQ号可以查询到备注姓名.年 ...

  2. Landsat数据下载方法小结

    本文转载自:http://malagis.com/landsat-data-download.html 本文介绍下载Landsat数据的方法. Landsat(美国陆地卫星)是遥感应用中常用的卫星数据 ...

  3. Hadoop安装包下载方法

    Hadoop3.0版本的诞生,引入了很多新功能,为了验证Hadoop2.0与3.0版本的性能,需下载Hadoop的不同版本.故下文演示如何下载Hadoop安装包的方法. 1. 进入Apache Had ...

  4. NOAA数据下载方法

    NOAA OneStop https://data.noaa.gov/onestop/about NOAA 数据搜索平台,在一个地方同时搜索NOAA的 Geophysical, oceans, coa ...

  5. SMOS数据产品介绍与下载方法

    1. SMOS数据介绍 The Soil Moisture and Ocean Salinity (SMOS) 卫星是欧空局发射的一颗以探测地球土壤水含量以及海表盐度为目标的卫星,卫星所搭载的唯一载荷 ...

  6. MODIS系列之NDVI(MOD13Q1)一:数据下载(一)基于插件

    引言: 写MODIS数据处理这个系列文章的初衷,主要是为了分享本人处理MODIS数据方面的一些经验.鉴于网上对这方面系统性的总结还比较少,我搜集资料时也是走了许多的弯路,因此希望通过此文让初学者能够更 ...

  7. Hadoop 一: NCDC 数据准备

    Hadoop 本文介绍Hadoop- The Definitive Guide一书中的NCDC数据准备,为后面的学习构建大数据环境; 环境 3节点 Hadoop 2.7.3 集群; java vers ...

  8. Hadoop 1: NCDC 数据准备

    本文介绍Hadoop- The Definitive Guide一书中的NCDC数据准备,为后面的学习构建大数据环境; 环境 3节点 Hadoop 2.7.3 集群; java version &qu ...

  9. SMAP数据产品介绍与下载方法

    1 SMAP(Soil Moisture Active and Passive)数据介绍 SMAP baseline science data products在下面的表格中展示,这些数据产品可以从两 ...

随机推荐

  1. 无法添加数据连接。Could not load file or assembly 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=11.0.0.0

    无法添加数据连接.Could not load file or assembly 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=11.0.0.0 V ...

  2. 03-23 MVC框架(以查询、删除为例)

    1.MVC的定义: MVC(Model-View-Controller,模型-视图-控制器)是用于将应用程序粉好吃呢过如下3个主要方面的体系结构模式: 模型(Model):一组类和业务规则,类用于描述 ...

  3. 「小程序JAVA实战」小程序头像图片上传(中)(44)

    转自:https://idig8.com/2018/09/09/xiaochengxujavashizhanxiaochengxutouxiangtupianshangchuan43/ 用户可以上传了 ...

  4. 避免IE在ajax请求时,返回json出现下载

    转自:https://blog.csdn.net/z521q1314/article/details/54409048

  5. FFmpeg多媒体文件格式探测

    FFmpeg版本:3.4 在FFmpeg中,每一种文件容器格式都对应一种AVInputFormat 结构,位于源码中libavformat文件夹中.当调用avformat_open_input的时候, ...

  6. 谈谈跨平台的app开发 坚定的选择了flutter

    目前市场上,(市场也许用的不对),比较常见的技术有xamrin.RN.Flutter,确切的说flutter是后起之秀,笔者也是最近才开始学习,xamrin是微软系的技术,笔者也很早就开始学习了,RN ...

  7. HTTP 1.0 & 1.1

    简介: HTTP ( HyperText Transfer Protocol ) 超文本传输协议,是互联网上应用最广泛的一种网络协议. HTTP 是一个客户端和服务端请求.应答的标准.使用 WEB 浏 ...

  8. 通过Curl 对url进行encode操作

    最近做项目的时候,通过 Gflags Reload 时候 发现对于某些value中包含=%中文等字符的支持不够好,value被截断了. 经过分析后,发现程序对url切分是用=&为标准的,如果v ...

  9. Spark scala和java的api使用

    1.利用scala语言开发spark的worcount程序(本地运行) package com.zy.spark import org.apache.spark.rdd.RDD import org. ...

  10. _LightColor0将会是主要的directional light的颜色。

    LightMode是个非常重要的选项,因为它将决定该pass中光源的各变量的值.如果一个pass没有指定任何LightMode tag,那么我们就会得到上一个对象残留下来的光照值,这并不是我们想要的. ...