当前位置: 首页 > 工具软件 > nn-core > 使用案例 >

HadoopCore-HDFS

巩选
2023-12-01

2.HDFS JavaApi 应用

	创建maven项目
	pom导入jar包依赖,<scope>provided</scope>解释
		scope取值	有效范围(compile, runtime, test)	依赖传递	例子
			compile		all							是		spring-core
			provided		compile, test					否		servlet-api
			runtime		runtime, test					是		JDBC驱动
			test			test							否		JUnit
			system		compile, test					是	

			compile :编译、运行、测试 均有效
			provided:编译、测试有效
			runtime:运行、测试有效

3.IO流读取本地文件

	缓存输出流读取	BufferReader
	缓存字节数组读取
		·定义具体内存缓存数组		new byte[1024]
		·定义从is读取具体字节数变量	readSize
		·定义缓存 缓存数组的大内存块	baos
		·is循环读取 写入到大内存块		baos.write(byteArray,0,readSize)
		·大内存块转换为字节数组		baos.toByteArray
		·关闭流
		·字节数组转换为字符串			newString(byteArraytotal,"utf-8")

	hdfs文件的读取
		和缓存字节数组结构相似,具体代码有所改动

4.打包jar包

	package:仅仅进行package打包操作
	install:package+copy   打包并且连同依赖jar包一同打包

	·可独立运行的jar包
	·仅被依赖的jar包

5.shell上运行jar包

	·rz -bye		获取独立运行jar包
	·yarn jar T...		运行

6.HDFS六大经典问题

	文件储存为什么分block块
		·减少寻址时间
		·提高吞吐量
	block块默认大小
			·128M
	block块大小是否可变
		·可变  也可对单一文件改变	但改变对之前文件不起作用
	一个block块是可以存储多个文件
		·不可以	先有文件后有block	
	文件大小小于一个blocksize实际文件占多大
		·有多大就是多大
	blocksize越大越好还是越小越好
		·合适最好	越大,NN压力小DN压力大	越小,NN压力大DN压力小

7. ·args也可以入参

·mainclass不进行说明时,默认对整个项目进行打包
	在shell中运行指定类	yarn jar T..  类名	参数1 参数2
·java中支持对hdfs中快捷指令	mkdir creatFile copyFromLocalFile copyToLocalFile rename remove exists
 类似资料: