在HDFS中,文件名以0或1开头的文件是非法的,因为Hadoop将它们视为隐藏文件。因此,不能在HDFS中创建文件名以0或1开头的文件。如果已经存在这样的文件,可以使用以下两种方法之一进行处理:
重命名文件:将文件名从0或1开头更改为其他字符。可以使用以下命令进行更改:
hadoop fs -mv /path/to/0filename /path/to/newfilename
删除文件:可以使用以下命令将文件从HDFS中删除:
hadoop fs -rm /path/to/0filename
在任何情况下,都应该避免创建文件名以0或1开头的文件,以避免这种问题的出现。
默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读本地文件读取 sc.textFile("路径").在路径前面加上file:// 表示从本地文件系统读,如file:///home/user/spark/README.md
HDFS是一个文件系统,用于存储文件,通过目录树来定位文件。
它是分布式的,有分多服务器联合起来实现其功能。
适合一次写入,多次读出的场景,且不支持文件的修改。
是和数据分析,并不适合用来做网盘应用。
NameNode(nn):1.存储文件的元数据{1.文件信息(文件名,文件目录结构,文件属性(生成时间,副本数,文件权限)),2.每个文件的块列表和块所在的DataNode(Block映射信息)},2.处理客户端读写请求。
DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验。
Secondary NameNode(2nn):是一个辅助后台的程序,用来监控HDFS状态,每隔一段时间获取HDFS元数据的快照。
上面计算的每秒传输大小为100MB只是一个近似值,实际为128M。
机械硬盘文件顺序读写的速度为100MB/s
普通固态为500MB/s
pcie固态的速度可以达到2000MB/s
因此块的大小可以分别设为128MB,512MB,2048MB.
CPU,磁盘,网卡之间的协同效率 即 跨物理机/机架之间文件传输速率
1. 如果块设置过大,
2. 如果块设置过小,
文件块越大,寻址时间越短,但磁盘传输时间越长;
文件块越小,寻址时间越长,但磁盘传输时间越短。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)