하둡이란무엇입니까?

“하둡”이란무엇을의미할까?더중한것은,“하둡”은무엇의약자일까?사실,고가용성분산형객체지향적플랫폼(高可用性分布式面向对象平台)을뜻합니다。bob体育客户端下载하둡기술은바로이런장점을개발자에게제공합니다。즉,객체지향적작업을병렬분산하여고가용성을확보할수있습니다。

Apache Hadoop은오픈소스,Java기반소프트웨어플랫폼으로빅데이터애플리케이션용데이터처리와스토리지를관리하는역할을합니다。하둡플랫폼은컴퓨터클러스터내여러노드에걸쳐하둡빅데이터와분석작업을분배하며,그과정에서작업을병렬식으로실행가능한작은크기의워크로드로분해합니다。

하둡은구조적,비구조적데이터를처리할수있으며단한대의서버에서시스템수천대규모로안정적으로확장합니다。

Apache Hadoop로고

하둡프로그래밍이란무엇가?

하둡프레임워크에서코드는대부분Java로작성되지만,일부네이티브코드C를는기반으로합니다。또한,명령줄유틸리티는셸스크립트로작성되는것이일반적입니다。하둡MapReduce의경우,Java를가장흔히사용하지만사용자는하둡스트리밍과같은모듈을통해원하는프로그래밍언어로맵을구현하고함수를줄일수있습니다。

하둡데이터베이스란무엇가?

하둡은데이터스토리지나관계형데이터베이스를위한솔루션이아닙니다。대신오픈소스프레임워크로써,실시간으로엄청난양의데이터를동시에처리하는것을목적으로합니다。

데이터는hdfs에저장됩니다。그러나비구조적이어서관계형데이터베이스로간주하기어렵습니다。사실하,둡을사용하면데이터를비구조적,반구조적,구조적형식으로저장할수있습니다。기업에서는비즈니스요구사항을충족하고그이상까지기대할수있는방식으로더욱유연하게빅데이터를처리할수있습니다。

하둡은어떤유형의데이터베이스가?

기술적으로하둡은sql이나RDBMS등의데이터베이스와는다릅니다。대신하,둡프레임워크는사용자에게다양한데이터베이스유형에대한처리솔루션을제공합니다。

하둡은기업이단시간에방대한데이터를처리하도록도와주는소프트웨어에코시스템입니다。이런작업은대규모로병렬컴퓨터처리를활용하기때문에가능합니다。Apache HBase와같은여러데이터베이스는수백,수천개의상용서버에저장된데이터노드클러스터에흩어져있습니다。

하둡은언제발명되었나?

Apache Hadoop은나雅虎谷歌과같은검색엔진이막출발한시점에서끊임없이늘어나는빅데이터를처리하고웹결과를더빨리제공해야한다는필요성이절실해지면서탄생했습니다。

당시谷歌의MapReduce라는프로그래밍모델이있었는데,이모델은하나의애플리케이션을여러부분으로나누어서로다른여러노드에서실행되도록하는방식을취했습니다。여기에서아이디어를얻은Doug Cutting Mike Cafarella과가2002년에Apache Nutch프로젝트를진행하던중하둡을시작하게됐습니다。뉴욕타임스기사에따르면Hadoop이라는이름Doug이은아들의장난감코끼리이름에서따온것이라고합니다。

몇년이지난뒤하둡은Nutch에서분할되어나왔습니다。Nutch는웹크롤러요소에집중했지만,하둡은분산형컴퓨팅및처리부분을담당하게된것입니다。减少雅虎에이입사하고2년후인2008년,雅虎에서하둡을오픈소스프로젝트로릴리스하였습니다。2012년11월에Apache软件基金会(ASF)에서하둡을Apache Hadoop이라는이름으로일반대중에게제공하게되었습니다。

하둡은어떤향을미쳤나?

하둡은빅데이터분야에서중대한발전이었습니다。사실,하둡은현행클라우드데이터레이크의기초토대로marketing정받고있습니다。Hadoop은컴퓨팅파워를민주화하여기업에서무료,오픈소스소프트웨어와저렴한상용하드웨어를사용해확장할수있는방식으로빅데이터세트를분석,쿼리할수있게해준역할을했습니다。

이것이중대한의의가있는이유는하둡덕분에당시까지대세였던상용(专有)데이터웨어하우스(dw)솔루션과폐쇄형데이터형식에실질적대을제시해주었기때문입니다。

하둡이도입되면서기업에서엄청난양의데이터를저장,처리할능력을신속히확보할수있게되었고,컴퓨팅파워를증가하고내결함성,데이터관리유연성,DW에비해저렴한비용은물론뛰어난확장성까지얻게되었습니다。궁극적으로Hadoop은빅데이터분석분야의향후개발을위해길을개척했다고볼수있습니다。Apache Spark가가장대적예입니다。

하둡은어디에사용하나?

하둡의경우,사용사례는무궁무진합니다。

리테일

규모가큰기업은그어느때보다도많은고객데이터를손에쥐고있습니다。하지만표면적으로는서로관계가없는듯한방대한데이터속에서상관관계를찾아내기어려운경우가많습니다。국리테일러m&s는하둡기반Cloudera企业를배포하고나서,결과에감탄했습니다。

Cloudera는데이터를관리하고처리하는데하둡기반지원과서비스를사용합니다。M&S는클라우드기반플랫폼을구현하고얼마지나지않아데이터를성공적으로활용하면서도예측분석성능이훨씬향상되었다는것을느꼈습니다。

웨어하우스사용효율이향상되었고수요가”갑자기”폭증했을때따라가지못하는현상을줄여시장경쟁에서엄청난우위를얻었습니다。

金融

하둡은아마도그어떤시스템보다도금융부문에적합할것입니다。하둡소프트웨어프레임워크가나온지얼마되지않았던초기에위험모델링과관련된고급알고리즘을처리하는용도로주로사용되었습니다。바로이런위험관리만있었더라면2008년에경기침체로까지이어진신용스왑위기를피하는데도움이되었을것입니다。

은행도이같은원리가고객포트폴리오의위험관리에도적용된다는것을깨달았습니다。요즘에는금융기관이금융보안관리와고객자산성과를개선할목적으로하둡을구현하는사례를흔히볼수있습니다。摩根大通도하둡을사용하여전세계에서폭발적으로증가하는고객데이터를관리하는금융대기업중하나입니다。

의료서비스

국가에서운영하든,민간에서운영하든,규모와관계없이모든의료기관은방대한데이터와고객정보를처리해야합니다。하둡프레임워크를사용하면의사,간호사,간병인이필요할때정보에쉽게액세스할수있고,실천가능한인사이트를제공하는데이터를쉽게집계할수도있습니다。이는공공보건,진단및치료개선등에적용할수있습니다。

학계및연구기관에서도하둡프레임워크를사용해서연구활동을촉진합니다。암을비롯한유전질환분야를예로들어보겠습니다。간유전체의지도가밝혀졌는데,30。이론적으로는그어떤질병이든치료할수있는모든것이우리눈앞에펼쳐져있습니다。

하지만복잡한관계를파악하기위해서는하둡과같은시스템이있어야대량의정보를처리할수있습니다。

보및법집행

하둡은국가및지역보의효과를향상하는데도도움이됩니다。여러지역에서발생하는관련범죄를해결하려는경우,하둡프레임워크로두개의관계가없는듯한사건을연결하여법집행기관의절차를간소화할수있습니다。사건을연결하는데걸리는시간이줄어들었기때문에법집행기관에서는최대한빠른시일내에다른기관과국민에게경고를보낼수있습니다。

2013년에미국국가보국(NSA)에서는오픈소스하둡소프트웨어가그동안자신들이사용했던값비싼솔루션보다우수하다는결론을내렸습니다。지금은하둡프레임워크를사용해서테러,사이버범죄등의위협을탐지하는데도움을받습니다。

하둡은어떻게작동하나?

하둡은상용하드웨어의클러스터에방대한데이터세트를분산할수있는프레임워크입니다。하둡의처리는여러서버에서동시에병렬로수행됩니다。

고객은데이터와프로그램을하둡에제출합니다。간단히말해,HDFS(하둡의핵심구성요소)는메타데이터와분산형파일시스템을처리합니다。그런다음,하둡MapReduce가입력/출력데이터를처리하고변환합니다。마지막으로,纱线이클러스터에작업을분산합니다。

하둡을사용하는고객은높은가용성과장애시점탐지기능을기본으로제공받아,상용리소스를훨씬효율적으로사용할수있습니다。또한,고객은연결된비즈니스시스템에서쿼리를수행할때빠르게응답할수있습니다。

결론적으로하,둡은빅데이터활용을극대화하고싶어하는기업에비교적간편한솔루셔능ㄹ제공합니다。

하둡은어떤언어로작성되었나?

하둡프레임워크자체는대부분Java를기반으로합니다。다른프로그래밍언어로로는C작성한네이티브코드와명령줄용셸스크립트를사용합니다。그러나하둡프로그램은Python, c++등의다양한프로그래밍언어로작성할수있습니다。따라서프로그래머는자신에게익숙한도구를사용해서유연하게일할수있습니다。

하둡을사용하는방법

앞서말씀드렸듯이,하둡은빅데이터를관리해야하는조직에간편한솔루션을제공합니다。하지만그렇다고해서언제나간단히사용할수있다는것은아닙니다。위의사용사례에서알수있듯이,하둡프레임워크의구현방식은상당히유연하게선택할수있습니다。

비즈니스애널리스트,데이터사이언티스트,개발자가하둡을활용하는방식은조직과목표에따라달라집니다。

하둡이모든기업에적합한것은아니지만,대부분조직에서하둡과의관계를새롭게평가할필가있습니다。사업의핵심프로세스에서방대한데이터를처리해야하는경우,하둡은요구사항에맞는유연하고경제적이면서도확장가능한솔루션을제공합니다。그이후부터는사용자와그팀이무엇을상상하고,어떤기술적능력을갖추었느냐에따라활용도가달라집니다。

하둡쿼리예시

하둡을쿼리하는방법의예시는다음과같습니다。

Apache蜂巢

Apache蜂巢는초기에하둡으로SQL을쿼리하는데일반적으로사용했던솔루션이었습니다。MySQL의이모듈은동작,구문,인터페이스를에뮬레이션하여프로그래밍을단순화합니다。Java API와JDBC드라이버가내장되어있기때문에Java애플리케이션을많이사용한다면좋은옵션이됩니다。蜂巢는개발자에게빠르고간단한솔루션을제공하지만다소느리고읽기전용기능만제공하기때문에상당히제한적입니다。

IBM BigSQL

Ibm에서는하둡에고성능대량병렬처리(mpp) SQL엔진을제공합니다。안정적이고안전한환경에서쉽게사용할수있는솔루션을원하는기업을위한쿼리솔루션입니다。HDFS데이터에액세스하는것외에도,RDBMS, NoSQL데이터베이스,WebHDFS및기타데이터소스에서가져올수있습니다。

하둡에코시스템이란무엇입니까?

하둡이라는용어는일종의보편명사로다음과같은다양한의미가있습니다。

  • 전반적iot하둡에코시스템,즉코어모듈과관련하위모듈을둘다아우릅니다。
  • 코어하둡모듈,즉HDFS, Yet Another Resource Negotiator(YARN), MapReduce와Hadoop Common(아래논의내용참조)등을말합니다。이들이전형적하둡배포를이루는가장기초적기본소입니다。
  • 하둡관련하위모듈:Apache蜂巢, Apache黑斑羚, Apache, Apache动物园管理员, Apache Flume등。이와같이관련된여러건의소프트웨어를사용하여코어하둡을사용자지정,개선하거나기능을확장할수있습니다。

코어하둡모듈은무엇입니까?

  • HDFS—Hadoop分布式文件系统의약자입니다。HDFSJava기는반시스템의일종으로,클러스터내여러노드에걸쳐대규모데이터세트를내결함성있는방식으로저장할수있게해줍니다。
  • - Yarn은另一个资源协商者의약자입니다。纱은클러스터리소스관리,작업계획,그리고하둡에서실행되는작업예약에쓰입니다。
  • MapReduce-MapReduce는프로그래밍모델겸대규모데이터세트의병렬식처리를위해쓰이는빅데이터처리엔진입니다。원래MapReduce가하둡에서이용할수있는유일한실행엔진이었는데,하둡에서나중에Apache特斯Apache火花등과같은다른엔진지원도추가했습니다。
  • Hadoop常见Hadoop共同은다른Hadoop모듈을지원하는여러라이브러리와유틸리티를총망라한일련의서비스를제공합니다。

하둡에코시스템의구성소는무엇가?

하둡에코시스템은여러가지핵심구성소로이루어집니다。

HDFS

하둡분산형파일시스템에서모든데이터스토리지가시작되고끝납니다。이구성요소는다양한구조적및비구조적데이터노드에걸쳐대량의데이터세트를관리합니다。그와동시에메타데이터를로그파일의형태로보관합니다。HDFS의보조구성요소는NameNode, DataNode,이렇게두가지가있습니다。

NameNode

Hadoop HDFS의마스터데몬은NameNode입니다。이구성요소는파일시스템네임스페이스를관리하고이파일들에대한클라이언트액세스를제어합니다。NameNode는마스터노드라고도하는데,블록번호와위치등과같은메타데이터를저장합니다。주로파일과디렉터리로구성되며파일이름지정,종료,열기등의파일시스템명령을실행합니다。

DataNode

두번째구성소는DataNode라는슬레이브데몬입니다。이HDFS구성요소는클라이언트가요청한읽기및쓰기함수를실행하면서실제데이터또는블록을저장합니다。然后즉,DataNode도마스터의명령에따라복제본생성,삭제및복제를담당합니다。

DataNode는두개의시스템파일로구성됩니다。하나는데이터에사용하고,나머지하나는블록메타데이터를기록하는데사용합니다。애플리케이션이시작되면마스터와슬레이브데몬사이에핸드셰이크를하여네임스페이스와소프트웨어버전을확인합니다。불일치가발견되면자동으로DataNode가해제됩니다。

MapReduce

하둡MapReduce는Hadoop에코시스템의핵심처리구성소입니다。이소프트웨어는방대한용량의구조적,비구조적데이터를처리할때애플리케이션을쉽게작성할수있는프레임워크를제공합니다。주로상용하드웨어의다양한노드에서데이터를병렬처리하도록지원하는방식을사용합니다。

MapReduce는클라이언트의작업일정을처리합니다。사용자가청한작업은독립적작업과프로세스로나뉩니다。그다음에는MapReduce작업을상용서버에있는모든클러스터와노드에서하위작업으로잘게쪼갭니다。

이과정은映射단계와还原단계,이렇게두가지로구성됩니다。映射단계에서는데이터세트가키/값쌍으로나뉘는다른데이터세트로변환됩니다。두번째减少단계에서는InputFormat클래스를통해프로그래머에따라출력을변환합니다。

프로그래머는MapReduce에서두가지기본함수를지정합니다。地图함수는데이터처리의비즈니스로직입니다。减少함수는地图함수의중간데이터출력을요약,집계하여최종결과를산출합니다。

간단히말해서,하둡YARN은MapReduce의성능이개선된새로운버전입니다。하지만그것만으로는정확히설명할수없습니다。纱线은작업시퀀스예약과처리,실행에도사용하기때문입니다。하지만纱은하둡의리소스관리계층이며,이곳에서각작업이별도의Java애플리케이션으로데이터에대해실행됩니다。

하둡프레임워크의운영체제역할을하는纱은단일플랫폼에서일괄처리,f데이터처리등의작업을수행할수있습니다。纱은MapReduce보다훨씬성능이개선되었기때문에프로그래머들이실시간인터랙티브스트리밍애플리케이션을구축할수있습니다。

纱을사용하는프로그래머는동일한클러스터에서필요한만큼여러애플리케이션을실행할수있습니다。운영관리와시스테리소스공유에안전하고안정적인기반을제공함으로써,최대의효율과유연성을발휘하도록합니다。

보편적하둡관련소프트웨어의몇가지예를들면무엇이있습니까?

이외에엄밀히말해코어하둡모듈에속한다고는볼수없지만이런모듈과함께쓰일때가많은대중적인패키지가몇가지있습니다。

  • Apache蜂巢는하둡에서실행되는데이터웨어하우스소프트웨어로서사용자가HiveQL이라SQL유는사쿼리언어를사용해HDFS데이터를다루도록지원합니다。
  • Apache黑斑羚는Apache Hadoop에적합한오픈소스,네이티브분석데이터베이스입니다。
  • Apache猪는보통MapReduce를통한추상화로서하둡과함께쓰여데이터의흐름에따라표시되는대규모데이터세트를분석하는데쓰이는툴입니다。猪은조marketing,필터링,정렬,로드등의작업을지원합니다。
  • Apache管理员는고도로정적분산형처리를지원하는중앙집중형서비스입니다。
  • Apache SqoopApache Hadoop과구조적데이터스토어(예:관계형데이터베이스)사이에서벌크데이터를효율적으로전송하도록고안한도구입니다。
  • Apache Oozie는Apache Hadoop작업을관리하기위한워크플로스케줄러시스템입니다。Oozie워크플로작업은DAG(有向非循环图)작업입니다。

흥미가생기셨나?하둡에코시스템에관해더자세히알아보세。

분석에하둡을사용하는방법

데이터소스와조직의요구사항에따라,하둡프레임워크를분석에활용하는방법은크게세가지가있습니다。

기업데이터센터에배포

필수적인기존리소스가있는기업에서시간효율적이고재정적으로도안전한옵션으로선택하는경우가많습니다。그렇지않은경우,기술장비를설치하고필요한它인력을충원하다보면재정과팀리소스가과하게늘어날수있습니다。기업에서이옵션을사용하면데이터보과보호를더욱잘관리할수있게됩니다。

클라우드마이그레이션

구현속도를높이고,선불로내는비용과유지관리요구사항을줄이고자하는기업은클라우드기반서비스를활용하려고할것입니다。클라우드공급업체에서는클라우드에존재하는상용하드웨어에서데이터와분석이실행됩니다。이들서비스는적절한금으로빅데이터처리를간소화하지만,약간의단점도존재합니다。

첫째,공개marketing터넷에있는모든것은해커등의먹잇감이되기쉽습니다。둘째,인터넷과네트워크공급업체에서서비스가중단되면업무시스템이마비될수있습니다。기존네트워크사용자의경우,하둡에서湖湖아키텍처로마이그레이션하는등의조치가필할수있습니다。

온프레미스공급업체

가동시간,개인정보보호,보안을강화하고싶다면온프레미스하둡공급업체에서이모든것을찾을수있을것입니다。이들공급업체는두가지의장점을모두제공합니다。모든장비,소프트웨어,서비스를제공하여프로세스를간소화할수있습니다。하지만인프라가온프레미스에있기때문에대기업에서데이터센터를운영하면서얻는모든장점을누릴수있습니다。

하둡의장점은무엇입니까?

  • 확장성-기존시스템은데이터스토리지를제한하지만,하둡은분산형환경에서작동하기때문에확장할수있습니다。이때문에데이터설계자가하둡에서일찍부터데이터레이크를구축할수있습니다。데이터레이크의이력과발전과정을자세히알아보세。
  • 복원력HDFS (Hadoop分布式文件系统)는근본적으로복원력이있습니다。하둡클러스터내노드에저장된데이터는클러스터의다른노드에도복제되어하드웨어나소프트웨어오류가능성에대비합니다。이러한의도적중복설계덕분에내결함성이보장됩니다。노드한개가다운되더라도클러스터내에항상그데이터의백업본이준비됩니다。
  • 유연성-기존관계형데이터베이스관리시스템과는달리,하둡을다룰때는형식에구애받지않고데이터를저장할수있습니다。반구조적,비구조적형식도마찬가지입니다。하둡을이용하면기업에서새로운데이터소스에손쉽게액세스하여여러가지데이터유형을활용할수있습니다。

하둡아키텍처의문제점

  • 복잡함- - - - - -하둡은저수기준Java반프레임워크라서최종사용자가다루기에는지나치게복잡하고어려울수있습니다。하둡아키텍처는상당한수준의전문지식과리소스가있어야설치,유지하고업그레이드할수있기도합니다。
  • 성능- - - - - -하둡은디스크로부터읽기,쓰기를자주이용하여연산을수행하는데,이렇게하면Apache火花와같이데이터를최대한메모리내에저장하고메모리내에서처리하고자하는프레임워크에비해시간이오래걸리고비효율적입니다。
  • 장기적실용성-지난2019년에는하둡과관련해참많은일이벌어졌고온세상이주목했습니다。谷歌에서2004년에발한중대한MapReduce관련논문은Apache Hadoop의제작을뒷받침하는역할을하였고,그러면서MapReduce사용을전면중단하게되었습니다(谷歌의기술인프라사업부선임부사장의乌尔(高级)트윗참조)。또한하둡과관련해몇차례세간의이목을집중시킨합병인수건도있었습니다。또한지난2020년에는하둡의대표적인제공업체에서자사제품을하둡중심에서벗어나다른방향을지향하기로했는데,이는이제하둡은“기술이라기보다하나의철학에가깝기때문”이라고밝혔습니다。마지막으로,2021년한해동흥미로운변화가많이일어났습니다。지난2021년4월에는Apache软件基金会에서하둡에코시스템에서열개프로젝트를사용중단한다고발@ @했습니다。그리고2021년6월에는Cloudera가유한회사로전환하는데동의했습니다。이결정이하둡사용자에게어떤향을미칠지는아직두고볼일입니다。이렇게우려되는상황이많아진데다디지털화가점점절실해지면서수많은기업이하둡과의관계를다시생각해보게되었습니다。

어떤기업에서하둡을사용하나?

성공적다국적기업과대기업에서는하둡을채택하는것이준이되어가고있습니다。현재하둡을사용하는기업의예시는다음과같습니다。

  • Adobe- - - - - -소프트웨어및서비스공급업체인Adobe는데이터스토리지와다른서비스에Apache Hadoop과HBase를사용합니다。
  • 易趣-검색엔진최적화와연구에하둡프레임워크를사용합니다。
  • A9-검색엔진및검색관련광고와관련된기술을담당하는亚马逊자회사입니다。
  • LinkedIn——가장인기있는소셜및전문가네트워킹사이트중하나인LinkedIn은하둡,蜂巢,卡夫卡,Avro, DataFu등을비롯한다양한Apache모듈을사용합니다。
  • Spotify——Spotify는스웨덴의음악스트리밍대기업으로,콘텐츠행성과음악청취추천외에도분석,보고에하둡프레임워크를사용합니다。
  • 脸谱网- - - - - -이소셜미디어대기업은데이터세트용량이하루0.5 pb씩늘어나는것으로보고되었으며,세계최대규모로하둡클러스터를관리하고있습니다。
  • InMobi- - - - - -이모바일마케팅플랫폼은분석,데이터사이언스,머신러닝과관련된HDFS및Apache猪/ MRUnit작업을활용합니다。

하둡은비용이얼마나드나?

하둡프레임워크자체는오픈소스Java기반애플리케이션입니다。즉,다른빅데이터애플리케이션과달리무료로사용할수있습니다。물론,필수적marketing상용소프트웨어비용은규모에따라달라집니다。

하둡프레임워크를구현하는서비스의경우,다양한금옵션이있습니다。

  1. 노드기준-가장일반적
  2. 용량(tb)기준
  3. 구독전용기술지원을제공하거나제공하지않는프리미엄(免费模式)제품
  4. 모든하드웨어와소프트웨어를포함한올원패키지
  5. 세분화된요금옵션을제공하는클라우드기반서비스는기본적으로필요한만큼또는사용한만큼만요금을지불하면됩니다。

하둡에수반되는문제점과최신데이터플랫폼으로의이동에관한자세한정보는블로그게시물을차조하세。

额外的资源

回到术语表