大数据特征
*Volume*(大数据量):90% 的数据是过去两年产生
*Velocity*(速度快):数据增长速度快,时效性高
*Variety*(多样化):数据种类和来源多样化
**结构化数据、半结构化数据、非结构化数据**
*Value*(价值密度低):需挖掘获取数据价值
固有特征
时效性
不可变性
Hadoop是什么?
Hadoop是一个开源分布式系统架构
分布式文件系统HDFS——解决大数据存储
分布式计算框架MapReduce——解决大数据计算
分布式资源管理系统YARN
--处理海量数据的架构首选
--非常快得完成大数据计算任务
--已发展成为一个Hadoop生态圈
为什么使用Hadoop?
高扩展性,可伸缩
高可靠性
多副本机制,容错高
低成本
无共享架构
灵活,可存储任意类型数据
开源,社区活跃
Hadoop生态圈
HDFS特点
HDFS优点
支持处理超大文件
可运行在廉价机器上
高容错性
流式文件写入
HDFS缺点
不适合低延时数据访问场景
不适合小文件存取场景
不适合并发写入,文件随机修改场景
HDFS上传下载流程解释:
-------创建一个文件夹
public void testMKdir() throws URISyntaxException, IOException, InterruptedException {
//1.创建配置
Configuration conf=new Configuration();
//2.获取文件系统
FileSystem fs=FileSystem.get(new URI("hdfs://192.168.137.111:9000"),conf,"root");
//3.调用API操作
fs.mkdirs(new Path("/hdfs"));
//4.关闭资源
fs.close();
}
上传:
public void testCopyFromLocalFile() throws URISyntaxException, IOException, InterruptedException {
Configuration conf=new Configuration();
FileSystem fs=FileSystem.get(new URI("hdfs://192.168.137.111:9000"),conf,"root");
fs.copyFromLocalFile(new Path("D://aaa.txt"),new Path("/hdfs/mmm.txt"));
fs.close();
}
可通过hdfs界面查看
下载:
public void testCopyFromLocalFile() throws URISyntaxException, IOException, InterruptedException {
Configuration conf=new Configuration();
FileSystem fs=FileSystem.get(new URI("hdfs://192.168.137.111:9000"),conf,"root");
fs.copyFromLocalFile(new Path("D://aaa.txt"),new Path("/hdfs/mmm.txt"));
fs.close();
}
---------删除
public void testDelete() throws IOException, URISyntaxException, InterruptedException {
Configuration conf=new Configuration();
FileSystem fs=FileSystem.get(new URI("hdfs://192.168.137.111:9000"),conf,"root");
fs.delete(new Path("/hdfs"),true);
fs.close();
}