我在看《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. Android Studio里面配置Tesseract

    网上大多是eclipse的项目,因为我用的是AS,所以说一下怎么配置. 身份证图片资料来自百度. 一.导入相关文件 其实我们不用自己编译,可以把别人项目编译好的jar包和so库直接拿来用.因为识别的效 ...

  2. react之本地图片引用

    react之本地图片引用 <img src="../images/photo.png"/> 这种写法在react中是不支持的,所以引用本地图片需要用import或者re ...

  3. Weak References

    http://docwiki.embarcadero.com/RADStudio/Seattle/en/Automatic_Reference_Counting_in_Delphi_Mobile_Co ...

  4. nginx 里设置font-face 跨域

    server { ... # Fix @font-face cross-domain restriction in Firefox location ~* \.(eot|ttf|woff)$ { ad ...

  5. 选择性导出excel表中内容

    package com.huawei.utils; import java.io.FileNotFoundException;import java.io.FileOutputStream;impor ...

  6. Makefile 自动搜索 c 和 cpp 文件, 并生成 .a 静态库文件

    最近 又弄linux 下的 .a 静态库编译, 于是想 做个 一劳永逸的Makefile, 经过一番折腾, 最后成功了 只需要 改两个 参数 就可以执行了(MYLIB 和 VPATH), 代码 如下: ...

  7. JAVA中List的三个子类。

    JAVA中List的三个子类分别是:ArrayList,Vector,LinkList.下面就来比较一下他们的不同. ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高. Ve ...

  8. java动态规划问题

    这里是简单的动态规划问题.其实,如果我们学过数据结构,应该就接触过动态规划问题,当时一直没有反应过来.我们求最小生成树用的是贪婪算法.而求最短路径就是动态规划.从一个点出发,到另外每个点的最短距离.在 ...

  9. Linux 下启动两个tomcat

    Linux 下启动两个tomcat 闲来无事学习nginx,想要配置个load balance.可是先决条件是:得有两个web容器.两个电脑是不用想了.只能想办法在一个机器上启动两个tomcat.原以 ...

  10. 530.Minimum Absolute Difference in BST 二叉搜索树中的最小差的绝对值

    [抄题]: Given a binary search tree with non-negative values, find the minimum absolute difference betw ...