大数据学习5——HDFS常用的文件操作命令

本文介绍了如何使用HDFS的基本命令进行文件夹创建、文件上传、目录及文件查看、文件删除和文件复制等操作。

基本形式:

hadoop fs -cmd < args >

1.创建hdfs文件夹(-mkdir)

hadoop fs -mkdir user
hadoop fs -mkdir user/hadoop
hadoop fs -mkdir user/hadoop/input

注意,目录只能一级一级得建,如果不存在父目录,就无法创建。

 

2.将本地文件上传到hdfs上(-put)

hadoop fs -put /home/hadoop/文档/hello.txt /user/hadoop/input

3.查看文件系统的目录和文件(-ls)

hadoop fs -ls  / #列出根目录下的文件

4.删除文件(-rm)

hadoop fs  -rm  -r /user/hadoop/user 

如果要删除的是一个目录,而不是一个文件时,需在-rm后加-r。

5.复制文件(-cp)

hadoop fs -cp  < hdfs file >  < hdfs file >

 

### 使用 Hive 进行网约车大数据项目的分析 #### 方法概述 Hive 是一种基于 Hadoop 的数据仓库工具,能够高效地查询和分析大规模结构化数据。对于网约车大数据项目,可以利用 Hive 提供的 SQL 查询功能完成数据清洗、聚合以及复杂模式识别的任务。 以下是使用 Hive 对网约车数据进行分析的具体方法: 1. **创建数据库与表** 首先需要定义一个用于存储网约车数据的数据库 `trafficdata` 并在其下创建相应的表来保存原始数据和其他中间结果。 创建数据库命令如下: ```sql CREATE DATABASE IF NOT EXISTS trafficdata; USE trafficdata; ``` 接着按照实际需求设计表格结构。例如,创建订单详情表 `createorder` 可以采用以下语句[^4]: ```sql CREATE TABLE createorder ( companyid STRING, address STRING, districtname STRING, orderid STRING, departtime STRING, ordertime STRING, departure STRING, deplongitude STRING, deplatitude STRING, destination STRING, destlongitude STRING, destlatitude STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; ``` 2. **加载数据至 Hive 表** 原始日志文件通常位于 HDFS 上,在此之前需确保这些文件已上传到指定路径 `/opt/hive/warehouse/trafficdata.db/createorder`. 加载完成后即可执行后续操作。 3. **统计成功订单中的热门路线** 利用 HiveSQL 统计出行频率最高的几条线路是一项常见任务。假设每笔交易都包含起点坐标(deplongitude,deplatitude) 和终点坐标(destlongitude,destlatitude),那么可以通过分组加排序实现这一目的[^2]: ```sql INSERT OVERWRITE TABLE orderline SELECT CONCAT_WS('->', deplongitude, deplatitude), COUNT(*) as cnt FROM createorder WHERE status='success' GROUP BY deplongitude, deplatitude ORDER BY cnt DESC LIMIT 5; ``` 4. **探索取消原因分布** 类似于前面提到的成功行程分析方式,我们也可以针对那些被终止的服务请求展开研究。比如找出最常见的十类拒绝服务的理由[^3] : ```sql SELECT reason, count(reason) total_count FROM cancelreasons GROUP BY reason ORDER BY total_count DESC LIMIT 10; ``` 5. **导出结果给关系型数据库(MySQL)** 当某些报表或者仪表盘需要用到最终汇总后的数值时,则有必要借助 Sqoop 工具把它们迁移到外部的关系型管理系统里去以便进一步展示或共享[^3]. 下面给出了一段简单的 sqoop 导入脚本样例: ```bash sqoop export \ --connect jdbc:mysql://localhost:3306/trafficdata \ --username root \ --password secret_password \ --export-dir /path/to/exported/data/in/HDFS \ --table target_table_name_in_mysql \ --fields-terminated-by '|'; ``` 以上就是关于如何运用 Apache Hive 技术栈来进行网约车领域的大规模数据分析的一些基本介绍及其实践案例分享。 ```python # Python 脚本示例:自动化运行 HiveQL 脚本 from pyhive import hive conn = hive.Connection(host="localhost", port=10000, username="hdfs") cursor = conn.cursor() query = """ SELECT * FROM createorder LIMIT 10; """ cursor.execute(query) for result in cursor.fetchall(): print(result) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值