CN104462324A - 一种hdfs多线程并行下载方法 - Google Patents
一种hdfs多线程并行下载方法 Download PDFInfo
- Publication number
- CN104462324A CN104462324A CN201410721324.4A CN201410721324A CN104462324A CN 104462324 A CN104462324 A CN 104462324A CN 201410721324 A CN201410721324 A CN 201410721324A CN 104462324 A CN104462324 A CN 104462324A
- Authority
- CN
- China
- Prior art keywords
- file
- hdfs
- block
- download
- thread
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 230000000903 blocking effect Effects 0.000 abstract 1
- 230000008520 organization Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1858—Parallel file systems, i.e. file systems supporting multiple processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种HDFS多线程并行下载方法,属于大数据领域,存放到HDFS上文件,采用分块方式存放到整个集群中;当从HDFS上下载文件时,首先获取该文件所有block分块下载地址,针对每个block,启动一个线程来下载,这样可同时启动N个线程同时下载N个数据块,直到所有数据块下载完毕;为了保证下载的文件的一致性,将block[i]数据块写入到客户端文件的67108864*(i-1)~67108864*i(i>1)位置。最大限度的发挥集群的性能,提高下载效率。
Description
技术领域
本发明涉及大数据下载技术,尤其涉及一种HDFS多线程并行下载方法,用于提高整个集群的吞吐量,进而提高下载效率。
背景技术
Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
HDFS文件系统上的文件,是以固定大小(默认64M)的数据块顺序的存放到HDFS中,从HDFS中下载文件,会从HDFS文件系统中顺序下载所有的文件块,直到整个文件下载完毕,这样极大影响下载效率,不能充分发挥整个集群的效能。
发明内容
为解决HDFS文件快速下载问题,本文提出了一种HDFS多线程下载方法。
一种HDFS多线程并行下载方法,从HDFS下载文件到本地时,针对文件在HDFS上每个block分块,启动一个线程,并行下载,写到本地同一个文件中,一种HDFS多线程并行下载方法设计结构包括:(1)获取文件在HDFS上所有分块下载地址;(2)启动N(可设置)个线程,并行下载N个数据块,写到客户端同一个文件中;当一个线程执行完毕后,再启动一个线程下载下一个数据块,保证客户端同时运行的线程数为N。
获取要下载的文件所有数据块下载地址;
针对所有的数据块,同时启动N(客户端并行下载性能达到最高时的线程数,可设置)个线程并行下载,写到客户端同一个文件中;在HDFS文件系统中,每一个block的大小默认为67108864(64M)个字节,所以,将block[i]数据块写入到文件的位置67108864*(i-1)~67108864*i(i>1)(通过java的随机访问对象可以将数据流写入到文件的任意指定位置),保证了文件的一致性;一个线程执行完毕,再启动下一个线程下载下一个block块,直到所有block下载完毕。
本发明的结构设计主要考虑是,存放到HDFS上文件,采用分块方式存放到整个集群中;当从HDFS上下载文件时,首先获取该文件所有block分块下载地址,针对每个block,启动一个线程来下载,这样可同时启动N个线程同时下载N个数据块,直到所有数据块下载完毕;为了保证下载的文件的一致性,将block[i]数据块写入到客户端文件的67108864*(i-1)~67108864*i(i>1)位置。
从HDFS下载文件到客户端时,同时启动多个线程并行下载文件的block块,写到客户端同一个文件中,从而提高整个集群的吞吐量,进而提高下载效率。
本发明的有益效果是:将一个HDFS文件多线程并行下载到客户端,最大限度的发挥集群的性能,提高下载效率。
附图说明
图1为HDFS多线程并行下载框架图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
一种HDFS多线程并行下载方法,从HDFS下载文件到本地时,针对文件在HDFS上每个block分块,启动一个线程,并行下载,写到本地同一个文件中,一种HDFS多线程并行下载方法设计结构包括:(1)获取文件在HDFS上所有分块下载地址;(2)启动N(可设置)个线程,并行下载N个数据块,写到客户端同一个文件中;当一个线程执行完毕后,再启动一个线程下载下一个数据块,保证客户端同时运行的线程数为N;获取要下载的文件所有数据块下载地址;
针对所有的数据块,同时启动N(客户端并行下载性能达到最高时的线程数,可设置)个线程并行下载,写到客户端同一个文件中;在HDFS文件系统中,每一个block的大小默认为67108864(64M)个字节,所以,将block[i]数据块写入到文件的位置67108864*(i-1)~67108864*i(i>1)(通过java的随机访问对象可以将数据流写入到文件的任意指定位置),保证了文件的一致性;一个线程执行完毕,再启动下一个线程下载下一个block块,直到所有block下载完毕。
下面根据附图,通过实施例进行阐述:
如图1所示,整个流程为:
(1)客户端通过namenode节点获取要下载文件所有block分块下载地址;
(2)针对每一个block,启动一个线程来读取数据,同时启动N个线程同时下载N个数据块,直到所有数据块下载完毕;为了保证下载的文件的一致性,将block[i]数据块写入到客户端文件的67108864*(i-1)~67108864*i(i>1)位置。
Claims (4)
1.一种HDFS多线程并行下载方法,其特征在于,从HDFS下载文件到本地时,针对文件在HDFS上每个block分块,启动一个线程,并行下载,写到本地同一个文件中。
2.根据权利要求1所述的方法,其特征在于,该方法包括:(1)获取文件在HDFS上所有分块下载地址;(2)启动N个线程,并行下载N个数据块,写到客户端同一个文件中;当一个线程执行完毕后,再启动一个线程下载下一个数据块,保证客户端同时运行的线程数为N。
3.根据权利要求2所述的方法,其特征在于,获取要下载的文件所有数据块下载地址。
4.根据权利要求3所述的方法,其特征在于,针对所有的数据块,同时启动N个线程并行下载,写到客户端同一个文件中;在HDFS文件系统中,每一个block的大小默认为67108864个字节,所以,将block[i]数据块写入到文件的位置67108864*(i-1)~67108864*i(i>1);一个线程执行完毕,再启动下一个线程下载下一个block块,直到所有block下载完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410721324.4A CN104462324A (zh) | 2014-12-03 | 2014-12-03 | 一种hdfs多线程并行下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410721324.4A CN104462324A (zh) | 2014-12-03 | 2014-12-03 | 一种hdfs多线程并行下载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104462324A true CN104462324A (zh) | 2015-03-25 |
Family
ID=52908359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410721324.4A Pending CN104462324A (zh) | 2014-12-03 | 2014-12-03 | 一种hdfs多线程并行下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462324A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105934759A (zh) * | 2015-10-13 | 2016-09-07 | 深圳还是威健康科技有限公司 | 一种数据更新的方法、装置、终端及服务器 |
CN108600312A (zh) * | 2018-03-21 | 2018-09-28 | 深圳市奥软网络科技有限公司 | 一种基于文件分块的多线程并行下载方法 |
CN109408571A (zh) * | 2018-09-28 | 2019-03-01 | 华为技术有限公司 | 对象列举方法、设备及计算机存储介质 |
US10447763B2 (en) | 2016-12-08 | 2019-10-15 | Nanning Fugui Precision Industrial Co., Ltd. | Distributed storage method and system |
WO2020001488A1 (zh) * | 2018-06-28 | 2020-01-02 | 杭州海康威视系统技术有限公司 | 文件下载方法及装置、客户端和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106068A (zh) * | 2013-02-28 | 2013-05-15 | 江苏物联网研究发展中心 | 物联网大数据快速校验方法 |
US20140214838A1 (en) * | 2013-01-30 | 2014-07-31 | Vertascale | Method and system for processing large amounts of data |
CN104077423A (zh) * | 2014-07-23 | 2014-10-01 | 山东大学(威海) | 一种基于一致性散列的结构化数据存储、查询和迁移方法 |
-
2014
- 2014-12-03 CN CN201410721324.4A patent/CN104462324A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140214838A1 (en) * | 2013-01-30 | 2014-07-31 | Vertascale | Method and system for processing large amounts of data |
CN103106068A (zh) * | 2013-02-28 | 2013-05-15 | 江苏物联网研究发展中心 | 物联网大数据快速校验方法 |
CN104077423A (zh) * | 2014-07-23 | 2014-10-01 | 山东大学(威海) | 一种基于一致性散列的结构化数据存储、查询和迁移方法 |
Non-Patent Citations (3)
Title |
---|
周杨: ""Hadoop平台下调度算法和下载机制的优化"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
廖彬 等: ""基于P2P的分布式文件系统下载效率优化"", 《计算机应用》 * |
曹宁 等: ""HDFS下载效率的优化"", 《计算机应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105934759A (zh) * | 2015-10-13 | 2016-09-07 | 深圳还是威健康科技有限公司 | 一种数据更新的方法、装置、终端及服务器 |
WO2017063143A1 (zh) * | 2015-10-13 | 2017-04-20 | 深圳还是威健康科技有限公司 | 一种数据更新的方法、装置、终端及服务器 |
US10447763B2 (en) | 2016-12-08 | 2019-10-15 | Nanning Fugui Precision Industrial Co., Ltd. | Distributed storage method and system |
CN108600312A (zh) * | 2018-03-21 | 2018-09-28 | 深圳市奥软网络科技有限公司 | 一种基于文件分块的多线程并行下载方法 |
WO2020001488A1 (zh) * | 2018-06-28 | 2020-01-02 | 杭州海康威视系统技术有限公司 | 文件下载方法及装置、客户端和计算机可读存储介质 |
CN109408571A (zh) * | 2018-09-28 | 2019-03-01 | 华为技术有限公司 | 对象列举方法、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104462324A (zh) | 一种hdfs多线程并行下载方法 | |
CN106506638B (zh) | 区块链中的区块存储方法及装置 | |
US11200258B2 (en) | Systems and methods for fast and effective grouping of stream of information into cloud storage files | |
CN104881494B (zh) | 与Redis服务器进行数据同步的方法、装置和系统 | |
US9560165B2 (en) | BT offline data download system and method, and computer storage medium | |
US9619430B2 (en) | Active non-volatile memory post-processing | |
CN105843819B (zh) | 一种数据导出方法及装置 | |
JP5719487B2 (ja) | アプリケーションをランタイム・インスタンスにインストールするための方法、システム、およびコンピュータ・プログラム製品、ならびにコンピュータ・プログラム(アプリケーション・インストール) | |
US20140129812A1 (en) | System and method for executing sequential code using a group of hreads and single-instruction, multiple-thread processor incorporating the same | |
US10025702B1 (en) | Browser capable of saving and restoring content item state | |
CN107436738B (zh) | 一种数据存储方法及系统 | |
US9400767B2 (en) | Subgraph-based distributed graph processing | |
US20160110395A1 (en) | Tunable hardware sort engine for performing composite sorting algorithms | |
CN107153643B (zh) | 数据表连接方法及装置 | |
US10503718B2 (en) | Parallel transfers of electronic data | |
Liu et al. | Optimizing shuffle in wide-area data analytics | |
CN109254998A (zh) | 数据管理方法、物联网设备、数据库服务器及系统 | |
US10558571B2 (en) | Second level database file cache for row instantiation | |
CN105049524A (zh) | 一种基于hdfs的大规模数据集装载的方法 | |
US20110213752A1 (en) | Non-blocking input output based storage | |
JP6772883B2 (ja) | 読込プログラム、読込方法および情報処理装置 | |
CN112486468A (zh) | 基于spark内核的任务执行方法、系统和计算机设备 | |
CN109753544B (zh) | 数据库序列处理方法、系统及基于同步锁的节点服务器 | |
CN103152627B (zh) | 机顶盒时移数据存储方法、装置和机顶盒 | |
CN103955376A (zh) | 一种dsp自启动二次按需加载方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150325 |
|
WD01 | Invention patent application deemed withdrawn after publication |