csv数据导入Hadoop中的HDFS

作者: lly

简介

本文介绍通过使用Hadoop命令的方式将csv数据导入进入HDFS中

一、环境准备

具体的环境准备及搭建流程可参考以下文章,本文不再做赘述
基础环境准备:https://blog.csdn.net/supermapsupport/article/details/91443032
Hadoop集群搭建:https://blog.csdn.net/supermapsupport/article/details/91972499

二、数据准备

未注册到 iServer的 csv 数据进行分布式分析服务,则需确保在 csv 存放目录下有与其对应的 .meta 文件,该.meta文件包含 csv 数据文件的元信息,所以我们将两个数据一起拷入。以示范数据 newyork_taxi_2013-01_14k.csv 为例,.meta 文件内容为:

 "FieldInfos": [ 
       { 
           "name": "col0", 
           "type": "WTEXT" 
       }, 
       { 
          "name": "col1", 
           "type": "WTEXT" 
       }, 
       { 
           "name": "col2", 
           "type": "WTEXT" 
       }, 
       { 
           "name": "col3", 
           "type": "INT32" 
       }, 
       { 
           "name": "col4", 
           "type": "WTEXT" 
       }, 
       { 
           "name": "col5", 
           "type": "WTEXT" 
       }, 
       { 
           "name": "col6", 
           "type": "WTEXT" 
       }, 
       { 
           "name": "col7", 
           "type": "INT32" 
       }, 
       { 
           "name": "col8", 
           "type": "INT32" 
       }, 
       { 
           "name": "col9", 
           "type": "DOUBLE" 
       }, 
       { 
           "name": "X", 
           "type": "DOUBLE" 
       }, 
       { 
           "name": "Y", 
           "type": "DOUBLE" 
       }, 
       { 
           "name": "col12", 
           "type": "DOUBLE" 
       }, 
       { 
           "name": "col13", 
           "type": "DOUBLE" 
       } 
   ], 
   "GeometryType": "POINT", 
   "HasHeader": false, 
   "StorageType": "XYColumn" 
}

三、导入csv

1.首先将数据放到opt目录下

  • newyork_taxi_2013-01_14k.csv
  • newyork_taxi_2013-01_14k.meta

2.将示例数据导入到 hdfs 中,启动 hadoop,在 hadoop-2.7.7/bin 中执行

./hadoop fs -mkdir /input         #创建/input 目录
./hdfs dfs -put /opt/newyork_taxi_2013-01_14k.csv /input/  #将 taxi 数据导入到/input 目录中
./hdfs dfs -put /opt/newyork_taxi_2013-01_14k.meta /input/

3.导入完成后,可以使用如下命令查看

./hadoop fs -ls /input 

4.输出结果如下
在这里插入图片描述
5.也可通过访问文件系统的方式来查看,访问ip:50070(ip为Hadoop所在机器的ip),并选择刚才创建的文件夹
在这里插入图片描述
在这里插入图片描述
至此,我们已成功将csv数据导入Hadoop的HDFS中。我们后续会发布更多有关SuperMap大数据平台的专题。

  • 4
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,您的问题是如何使用R语言进行数据爬取,生成csv文件,将数据上传Linux,并使用Hadoop和Hive进行数据分析。 首先,我们可以使用R语言的一些库(如`rvest`、`httr`等)来进行数据爬取,然后将数据处理并保存为csv文件。下面是一个简单的示例代码: ``` library(rvest) library(httr) # 发送请求获取网页内容 url <- "https://www.example.com" response <- GET(url) content <- content(response, as = "text") # 使用rvest库解析网页内容并提取数据 html <- read_html(content) data <- html %>% html_nodes("table") %>% html_table(fill = TRUE) # 将数据保存为csv文件 write.csv(data, file = "data.csv", row.names = FALSE) ``` 接着,我们可以使用`scp`命令将生成的csv文件上传到Linux服务器上。假设您的csv文件保存在本地的`/path/to/data.csv`,Linux服务器的IP地址是`123.45.67.89`,用户名是`user`,则可以使用以下命令上传文件: ``` scp /path/to/data.csv user@123.45.67.89:/path/to/remote/folder/ ``` 一旦文件上传到Linux服务器上,我们可以使用Hadoop和Hive进行数据分析。首先,我们需要将csv文件加载到Hadoop文件系统。可以使用以下命令将文件复制到Hadoop文件系统: ``` hdfs dfs -copyFromLocal /path/to/remote/folder/data.csv /input/ ``` 然后,我们可以使用Hive来创建表并加载数据。假设您的csv文件有两列数据`col1`和`col2`,则可以使用以下命令在Hive创建表: ``` CREATE TABLE my_table ( col1 STRING, col2 STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE; ``` 接着,我们可以使用以下命令将csv文件数据加载到Hive表: ``` LOAD DATA INPATH '/input/data.csv' INTO TABLE my_table; ``` 现在,我们可以使用Hive来执行各种查询和分析操作。例如,要计算`col1`每个值的出现次数,可以使用以下查询: ``` SELECT col1, COUNT(*) as count FROM my_table GROUP BY col1; ``` 希望这些示例代码和命令可以帮助您开始使用R语言进行数据爬取和使用Hadoop和Hive进行数据分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值