71
Aralık 2012 v1.3 Hadoop devveri.com

Hadoop @ devveri.com

Embed Size (px)

DESCRIPTION

devveri.com Hadoop sunumu

Citation preview

Page 1: Hadoop @ devveri.com

Aralık 2012v1.3

Hadoopdevveri.com

Page 2: Hadoop @ devveri.com

Hakkımda

● Marmara Üni. Elektronik

● Software Development Supervisor @ Gitti Gidiyor / eBay

● 12+ yıl yazılım tecrübesi

● Java, C, C++, C#

● Big Data, Search, NoSQL

Hakan İ[email protected]

twitter: devvericomhttp://tr.linkedin.com/in/hakanilter/

Page 3: Hadoop @ devveri.com

Gündem

● Big Data (Dev veri)● Hadoop● HDFS● MapReduce● Hadoop Kurulum● Küme Yapısı● Hadoop Ekosistemi

Page 4: Hadoop @ devveri.com

Dev Veri

Page 5: Hadoop @ devveri.com

Dev Veri

Page 6: Hadoop @ devveri.com

Dev Veri NedirTeknoloji > Internet > Sosyal Medya > Mobil > ...

Dünya'daki verilerin %90'lık kısmı son iki yılda toplandı

Yapılandırılmış (structured) ve Yapılandırılmamış (unstructured) verilerden meydana gelir

● Yapılandırılmış veriler: ürün, kategori, müşteri, fatura, ödeme...

● Yapılandırılmamış veriler: tweet, paylaşım, beğeni (like), e-posta, video, tıklama...

%10 Yapılandırılmış, %90 Yapılandırılmamış

Page 7: Hadoop @ devveri.com

Büyüklük (Volume)● Facebook 70+PB, eBay 5+PB

Hız (Velocity)● Twitter'da hergün 12TB twit atılıyor

Çeşitlilik (Variety)● Metin, sensör verileri, ses, görüntü, log

dosyaları

Dev Verinin 3 Boyutu

Page 8: Hadoop @ devveri.com

Dev Veri

Page 9: Hadoop @ devveri.com

Dev Veri'nin Önemi

● Bu kadar veri tek başına bir anlam ifade etmiyor

● Önemli olan Dev Veri içerisinde saklanmış olan bilgiyi ortaya çıkartıp yaptığımız işi daha iyi anlamak, belki de geleceği tahmin etmeye çalışmak

● Bu gerçekleştirildiğinde;○ Mutlu müşteriler○ Daha fazla kazanç○ Dolandırıcılıkta azalma○ Daha sağlıklı insanlar○ ...

Page 10: Hadoop @ devveri.com

Geleneksel Sistemlerin Problemleri

● RDBMSGöreceli olarak küçük boyutta veri, yapılandırılmamış verilere uygun değil

● Donanım limitleriDaha fazla CPU, daha fazla RAM, daha fazla Disk = Daha fazla Maliyet

● Yazılımsal karmaşıklıkSenkronizasyon, bant genişliği, erişilebilirlik, hata toleransı

Page 11: Hadoop @ devveri.com

Peki ya gerçek problem?

Gerçek problem: Veriyi işlemciye ulaştırabilmek!

100GB boyutundaki bir veriyi

tipik bir disk ile (~75 MB/sn) aktarmak

yaklaşık 22 dakika!

Page 12: Hadoop @ devveri.com

Yeni bir yaklaşım

● Ölçeklenebilir

● Tutarlı

● Veri Garantili

● Erişilebilir

Page 13: Hadoop @ devveri.com

Kim çözdü?

● Google File System (2003)

● MapReduce (2004)

● Big Table (2006)

Page 14: Hadoop @ devveri.com

ve Hadoop!

Veri işleme amaçlı dağıtık uygulamalar yazılmasını sağlayan bir platform ve açık kaynaklı bir Apache projesidir.

Page 15: Hadoop @ devveri.com

Gündem

● Big Data (Dev veri)● Hadoop● HDFS● MapReduce● Hadoop Kurulum● Küme Yapısı● Hadoop Ekosistemi

Page 16: Hadoop @ devveri.com

Neden Hadoop

● EsnekHer türlü veriyi saklayıp analizini yapabilir

● ÖlçeklenebilirBinlerce düğüm bir araya getirilebilir

● EkonomikAçık kaynaklı, "commodity" donanımda çalışabilir

Page 17: Hadoop @ devveri.com

Nerede?

Page 18: Hadoop @ devveri.com

Nerede?

Page 19: Hadoop @ devveri.com

Gitti Gidiyor'da Hadoop

Nokia kelimesiyle daha ilgili olduğu için Cep telefonu kategorisi daha üstte yer alıyor

İlgili diğer aramalar

Nokkia aratılmış ama Nokia olarak düzeltilmiş

Page 20: Hadoop @ devveri.com

Gitti Gidiyor'da Hadoop "Metallica" ile ilgili diğer aramalar

Mobil uygulama ana sayfada kişiselleştirilmiş ürün gösterimi

Autocomplete verisi

Page 21: Hadoop @ devveri.com

Kimler kullanıyor?

Page 22: Hadoop @ devveri.com

Hadoop

İki ana bileşenden oluşur● Hadoop Distributed File System (HDFS)● MapReduce

Page 23: Hadoop @ devveri.com

Gündem

● Big Data (Dev veri)● Hadoop● HDFS● MapReduce● Hadoop Kurulum● Küme Yapısı● Hadoop Ekosistemi

Page 24: Hadoop @ devveri.com

HDFS

Verinin saklanmasından sorumludur● Dağıtık bir dosya sistemidir

● Veriyi 64MB ya da 128MB'lık bloklar halinde saklar

● Her blok küme içerisinde farklı düğümlere dağıtılır

● Her bloğun varsayılan 3 kopyası tutulur

● Bu sayede verinin erişilebilirliği ve güvenilirliği

sağlanmış olur

● Aynı dosyaya ait bloklar farklı düğümlerde olabilir

Page 25: Hadoop @ devveri.com

HDFS

● Normal dosya sistemi üzerinde çalışır: ext3, ext4, xfs

● Büyük miktarda veri için yedekli depolama sağlar

● Düşük maliyetli sunucular üzerinde çalışmaya uygundur

● Küçük çok dosya yerine büyük daha az dosya tutulmalıdır

● Ortalama bir dosya 100MB civarı olmalıdır

● Rastlantısal erişim yoktur (write once)

● Büyük ve duraksız (streaming) veri erişimine göre

optimize edilmiştir

Page 26: Hadoop @ devveri.com

Data Node 1

HDFS

blok 1 blok 2

blok 3Data Node 2

blok 3

blok 2

blok 4

Data Node 3

blok 3

blok 1

blok 4

Data Node 4

blok 4

blok 2

Blokların düğümler üzerine dağılım örneği

blok 1

Page 27: Hadoop @ devveri.com

HDFS Erişimi

HDFS üzerindeki verilere konsol üzerinden hadoop fs komutu ile erişilebilir:

hadoop fs -ls Dosyaları listeler

hadoop fs -mkdir <path> Klasör oluşturur

hadoop fs -put <local> <target> Lokalden HDFS'e dosya kopyalar

hadoop fs -get <source> <local> HDFS'den lokale dosya kopyalar

hadoop fs -cat <filename> Dosya içeriğini konsola basar

hadoop fs -rmr <filename> Dosyayı siler

Page 28: Hadoop @ devveri.com

Gündem

● Big Data (Dev veri)● Hadoop● HDFS● MapReduce● Hadoop Kurulum● Küme Yapısı● Hadoop Ekosistemi

Page 29: Hadoop @ devveri.com

MapReduce

Veriyi işleme yöntemidir● Fonksiyonel programlamadan esinlenilmiştir

● Map ve Reduce birer fonksiyondur

● Map fonksiyonu ile veri içerisinden istenilen veriler

anahtar-değer formatında seçilir

● Reduce fonksiyonu ile de seçilen bu veriler

üzerinde işlem yapılır, sonuç yine anahtar-değer olarak iletilir

● Map ve Reduce arasında Shuffle ve Sort aşamaları

vardır

Page 30: Hadoop @ devveri.com

MapReduce

Daha kolay anlaşılabilir olması için SQL'e benzetmek gerekirse;

● WHERE ile yapılan filtreleme gibi Map aşamasında

sadece ihtiyacımız olan veriler seçilir

● Reduce aşamasında ise SUM, COUNT, AVG gibi

birleştirme işlemleri yapılır

Page 31: Hadoop @ devveri.com

MapReduce

● Map aşamasındaki işlemler küme üzerinde paralel

olarak çalışır

● Bu sayede kümenin büyüklüğüne göre veriler hızlı bir

şekilde işlenebilir hale gelmiş olur

● Her iş parçacığı verinin belirli bir parçasını işler

● İş parçacıkları mümkünse üzerinde çalıştığı

düğümdeki verileri işler. Buna Data Localization denir

Page 32: Hadoop @ devveri.com

MapReduce ile akış örneği

MapReduce

Page 33: Hadoop @ devveri.com

MapReduce

● Uygulama geliştirilirken sadece Map ve Reduce

metodları yazılır, geri kalan işleyiş otomatik gerçekleşir

● Hadoop tamamen Java ile geliştirildiği için

MapReduce uygulamaları Java ile yazılır, jar olarak paketlenir

● Streaming özelliği sayesinde Python, C++, Php gibi

farklı dillerde de kullanılabilir

Page 34: Hadoop @ devveri.com

Word Count

Map Metodu

public void map(LongWritable key, Text value, Context context)

throws IOException, InterruptedException

{

String line = value.toString().toLowerCase();

StringTokenizer tokenizer = new StringTokenizer(line);

while (tokenizer.hasMoreTokens()) {

Text word = new Text(tokenizer.nextToken());

context.write(word, new IntWritable(1));

}

}

Page 35: Hadoop @ devveri.com

Word Count

Reduce Metodu

public void reduce(Text key, Iterable<IntWritable> values, Context context)

throws IOException, InterruptedException

{

int sum = 0;

for (IntWritable value : values) {

sum += value.get();

}

context.write(key, new IntWritable(sum));

}

Page 36: Hadoop @ devveri.com

Tool sınıfı metodları

public int run(String[] args) throws Exception{ if (args.length != 2) { System.err.printf("Usage: %s [generic options] <input> <output>\n", getClass().getSimpleName()); ToolRunner.printGenericCommandUsage(System.err); return -1; }

Job job = new Job(); job.setJarByClass(WordCount.class);

FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1]));

job.setMapperClass(WordCountMapper.class); job.setReducerClass(WordCountReducer.class);

job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class);

return job.waitForCompletion(true) ? 0 : 1;}

public static void main(String[] args) throws Exception { int exitCode = ToolRunner.run(new WordCount(), args); System.exit(exitCode);}

Word Count

Page 37: Hadoop @ devveri.com

MapReduce programını çalıştırma

$ hadoop jar <jarfile> <classname> <args...>$ hadoop jar devveri-mapreduce-0.0.1-SNAPSHOT.jar com.devveri.hadoop.mapreduce.WordCount test.txt devveri12/07/09 23:44:41 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.12/07/09 23:44:41 INFO input.FileInputFormat: Total input paths to process : 112/07/09 23:44:41 INFO mapred.JobClient: Running job: job_201204231254_552212/07/09 23:44:42 INFO mapred.JobClient: map 0% reduce 0%12/07/09 23:44:56 INFO mapred.JobClient: map 100% reduce 0%12/07/09 23:45:08 INFO mapred.JobClient: map 100% reduce 100%12/07/09 23:45:13 INFO mapred.JobClient: Job complete: job_201204231254_552212/07/09 23:45:13 INFO mapred.JobClient: Counters: 2912/07/09 23:45:13 INFO mapred.JobClient: Job Counters12/07/09 23:45:13 INFO mapred.JobClient: Launched reduce tasks=112/07/09 23:45:13 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=1198412/07/09 23:45:13 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=012/07/09 23:45:13 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=012/07/09 23:45:13 INFO mapred.JobClient: Launched map tasks=112/07/09 23:45:13 INFO mapred.JobClient: Data-local map tasks=112/07/09 23:45:13 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=1003312/07/09 23:45:13 INFO mapred.JobClient: File Output Format Counters12/07/09 23:45:13 INFO mapred.JobClient: Bytes Written=3112/07/09 23:45:13 INFO mapred.JobClient: FileSystemCounters12/07/09 23:45:13 INFO mapred.JobClient: FILE_BYTES_READ=61...

Word Count

Page 38: Hadoop @ devveri.com

Gündem

● Big Data (Dev veri)● Hadoop● HDFS● MapReduce● Hadoop Kurulum● Küme Yapısı● Hadoop Ekosistemi

Page 39: Hadoop @ devveri.com

Hadoop Kurulumu● Apache sürümü dışında Cloudera, Hortonworks gibi

firmaların dağıtımları da kullanılabilir

● Farklı sürümleri bulunuyor1.0.X - current stable version, 1.0 release

1.1.X - current beta version, 1.1 release

2.X.X - current alpha version

0.23.X - simmilar to 2.X.X but missing NN HA.

0.22.X - does not include security

0.20.203.X - old legacy stable version

0.20.X - old legacy version

● Küme olarak (full cluster) ya da tek sunucuya (pseudo-

distributed) kurulabilir

● deb, rpm veya tarball olarak indirilip kurulabilir

Page 40: Hadoop @ devveri.com

Örnek kurulum adım 1

● JDK 1.6, openssh-server ve rsync sistemde olmalı

$ sudo apt-get install ssh

$ sudo apt-get install rsync

Page 41: Hadoop @ devveri.com

Örnek kurulum adım 2

● Sunucular arası şifresiz bağlantı gerekir

$ ssh localhost

The authenticity of host 'localhost (127.0.0.1)' can't be

established.

ECDSA key fingerprint is 00:ab:cd:ef:12:23:56:ab:ba:c4:89:

11:d8:22:33:1b.

Are you sure you want to continue connecting (yes/no)? yes

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

Page 42: Hadoop @ devveri.com

Örnek kurulum adım 3

● Kurulumun yapılacağı klasörler ayarlanır

$ sudo mkdir /usr/java

$ sudo chown -R devveri:devveri /usr/java

$ mkdir /usr/java/hadoop-data

Page 43: Hadoop @ devveri.com

● Apache sunucusundan son sürüm indirilir

$ cd /usr/java/

$ wget "http://www.eu.apache.org/dist/hadoop/

common/hadoop-1.0.4/hadoop-1.0.4.tar.gz"

$ gzip -dc hadoop-1.0.4.tar.gz | tar xf -

$ ln -s /usr/java/hadoop-1.0.4 /usr/java/hadoop

Örnek kurulum adım 4

Page 44: Hadoop @ devveri.com

● Küme ile ilgili genel ayarlar conf/core-site.xml dosyasında bulunur

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/java/hadoop-data</value>

</property>

</configuration>

Örnek kurulum adım 5

Page 45: Hadoop @ devveri.com

Örnek kurulum adım 6

● HDFS ile ilgili ayarlar conf/hdfs-site.xml dosyası

içerisinde bulunur

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

Page 46: Hadoop @ devveri.com

Örnek kurulum adım 7

● MapReduce ile ilgili ayarlar conf/mapred-site.xml dosyası içerisinde bulunur

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>

Page 47: Hadoop @ devveri.com

Örnek kurulum adım 8

● Hadoop ile ilgili ortam değişkenleri conf/hadoop-env.sh dosyasında bulunur

export JAVA_HOME=/usr/java/jdk

export HADOOP_HEAPSIZE=512

export HADOOP_HOME_WARN_SUPPRESS="TRUE"

Page 48: Hadoop @ devveri.com

Örnek kurulum adım 9

● .bash_profile ya da .bash_rc dosyalarında $PATH

değişkeni ayarlanmalıdır

JAVA_HOME=/usr/java/jdk

PATH=$PATH:$JAVA_HOME/bin

HADOOP_HOME=/usr/java/hadoop

PATH=$PATH:$HADOOP_HOME/bin

Page 49: Hadoop @ devveri.com

Örnek kurulum adım 10● NameNode formatlanmalıdır

$ hadoop namenode -format12/09/05 00:07:06 INFO namenode.NameNode: STARTUP_MSG:/************************************************************STARTUP_MSG: Starting NameNodeSTARTUP_MSG: host = devveri-HP-ProBook-6540b/127.0.1.1STARTUP_MSG: args = [-format]STARTUP_MSG: version = 1.0.3STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1335192; compiled by 'hortonfo' on Tue May 8 20:31:25 UTC 2012************************************************************/12/09/05 00:07:06 INFO util.GSet: VM type = 32-bit12/09/05 00:07:06 INFO util.GSet: 2% max memory = 9.1025 MB12/09/05 00:07:06 INFO util.GSet: capacity = 2^21 = 2097152 entries12/09/05 00:07:06 INFO util.GSet: recommended=2097152, actual=209715212/09/05 00:07:07 INFO namenode.FSNamesystem: fsOwner=devveri12/09/05 00:07:07 INFO namenode.FSNamesystem: supergroup=supergroup12/09/05 00:07:07 INFO namenode.FSNamesystem: isPermissionEnabled=true12/09/05 00:07:07 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=10012/09/05 00:07:07 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)12/09/05 00:07:07 INFO namenode.NameNode: Caching file names occuring more than 10 times12/09/05 00:07:07 INFO common.Storage: Image file of size 111 saved in 0 seconds.12/09/05 00:07:07 INFO common.Storage: Storage directory /usr/java/hadoop-data/dfs/name has been successfully formatted.12/09/05 00:07:07 INFO namenode.NameNode: SHUTDOWN_MSG:/************************************************************SHUTDOWN_MSG: Shutting down NameNode at devveri-HP-ProBook-6540b/127.0.1.1************************************************************/

Page 50: Hadoop @ devveri.com

● Big Data (Dev veri)● Hadoop● HDFS● MapReduce● Hadoop Kurulum● Küme Yapısı● Hadoop Ekosistemi

Gündem

Page 51: Hadoop @ devveri.com

● Hadoop kümesini durdurup başlatmak için bin

klasörü altındaki script'ler kullanılır

Küme Yapısı

start-all.sh Kümeyi çalıştırır

stop-all.sh Kümeyi durdurur

start-dfs.sh Sadece HDFS süreçlerini çalıştırır

stop-dfs.sh HDFS süreçlerini durdurur

start-mapred.sh Sadece MapReduce süreçlerini çalıştırır

stop-mapred.sh MapReduce süreçlerini durdurur

Page 52: Hadoop @ devveri.com

Hadoop Süreçleri

Hadoop kümesi içerisinde birlikte çalışan birkaç farklı süreç vardır

● NameNode

● SecondaryNameNode

● DataNode

● JobTracker

● TaskTracker

Page 53: Hadoop @ devveri.com

Ana (master) düğümdür● Hangi blok, hangi dosya nerededir takip eder

● Her türlü dosya işleminden sorumludur

● Veri değil sadece metadata saklar

● Her zaman ayakta olmak zorundadır

NameNode çalışmaz ise tüm küme çalışmaz hale gelir

● Hızlı erişim açısından verileri hafızada tutar

● Çökmeye karşı diske bilgileri senkronize eder

● Bu verileri mutlaka yedeklenmelidir

NameNode

Page 54: Hadoop @ devveri.com

NameNode yedeği değildir!● Sadece NameNode tarafından yapılmayan bazı

görevleri yerine getirir

SecondaryNameNode

Page 55: Hadoop @ devveri.com

DataNode

Verilerin bulunduğu düğümdür● Blok halinde dosyaları saklar

● Yedekli olduğu için kapanması halinde veri kaybı

yaşanmaz

● Veriler bu düğümlerde olduğu için analiz işlemleri

de bu düğümler üzerinde çalışır

● Küme içerisinde birden fazla olabilir (olmalıdır)

● 4000+ düğüme kadar büyüyebilir

● Sayısı arttıkça performansı lineer olarak artar!

Page 56: Hadoop @ devveri.com

JobTracker

MapReduce işlerini takip eder● NameNode gibi tektir

● İstemciler MapReduce işlerini JobTracker'a

gönderir

● İşleri diğer düğümlere dağıtır

● İş parçacıklarının durumunu takip eder

● Bir iş parçacığında sorun olursa bunu sonlandırarak

yeni bir tekrar çalıştırır

● Bazı durumlarda aynı işi yapan birden fazla iş

parçacığı çalıştırabilir

Page 57: Hadoop @ devveri.com

TaskTracker

MapReduce işlemlerini çalıştırır● DataNode ile aynı düğümde bulunur

● JobTracker tarafından gönderilen iş

parçacıklarından sorumludur

● Map ve Reduce görevlerini çalıştırıp sonuçlarını

JobTracker'a iletir

Page 58: Hadoop @ devveri.com

Kümeye bakış

Node 1

NameNode JobTracker

Node 2

DataNode TaskTracker

Node 3

DataNode TaskTracker

Node 4

DataNode TaskTracker

Node 5

DataNode TaskTracker

SNNode

Page 59: Hadoop @ devveri.com

NameNode Arayüzü

Page 60: Hadoop @ devveri.com

JobTracker Arayüzü

Page 61: Hadoop @ devveri.com

Gündem

● Big Data (Dev veri)● Hadoop● HDFS● MapReduce● Hadoop Kurulum● Küme Yapısı● Hadoop Ekosistemi

Page 62: Hadoop @ devveri.com

Hadoop Ecosystem

Hadoop çatısı altında birçok proje barınır

● Hive

● Pig

● HBase

● Mahout

● Impala

● Diğerleri: Sqoop, Flume, Avro, Zookeeper, Oozie,

Cascading...

Page 63: Hadoop @ devveri.com

Hive● Facebook tarafından geliştirilmiştir

● SQL benzeri HiveQL dili ile Java kullanmadan

MapReduce uygulamaları yazılmasını sağlar

● Öncelikle HDFS üzerindeki dosyalar tablo olarak

tanıtılır○ create table member_visits (member_id string,

visit_count int) row format delimited fields

terminated by '\t' stored as textfile;

○ load data inpath '/usr/hadoop/anyfile' into table members;

● Daha sonra bu sanal tablolar sorgulanabilir○ select avg(visit_count) from member_visits where

visit_count > 0;

Page 64: Hadoop @ devveri.com

Pig

● Yahoo tarafından geliştirilmiştir

● MapReduce yazmak için "DataFlow" dili olarak

adlandırılan, SQL'den farklı kendine özgü PigLatin dili kullanılır

● Join destekler, daha kolay ve performanslı

MapReduce programaları yazmayı sağlar○ A = LOAD 'companies.csv' USING PigStorage() AS

(productId:int, productName:chararray);

B = FILTER A BY productId > 3;

C = FOREACH B GENERATE *;

DUMP C;

Page 65: Hadoop @ devveri.com

HBase

● Hadoop üzerinde çalışan NoSQL veritabanıdır

● Google Big Table örnek alınarak geliştirilmiştir

● Esnek şema yapısı ile binlerce kolon, petabyte'larca

satırdan oluşan veriyi saklayabilir

● HDFS üzerinde çalıştığından MapReduce destekler

● Veriye erişiminde bazı kısıtlar vardır

● Verilere anahtar üzerinden ya da partial table scan

ile erişilebilir

● İkincil indeks, karmaşık sorgu çalıştırma desteği

yoktur

Page 66: Hadoop @ devveri.com

Mahout

● Hadoop üzerinde çalışabilen Machine Learning

algoritmalarını içeren bir kütüphanedir

● Recommendation

● Clustering

● Classification

Page 67: Hadoop @ devveri.com

Impala

● Google Dremel (2010) projesinden esinlenmiştir

● Cloudera tarafından geliştirilmiştir

● MapReduce yapmadan verilere direkt erişir

● HiveQL destekler, 7-45 kat daha hızlı çalışır

Page 68: Hadoop @ devveri.com

Sorular

?

Page 69: Hadoop @ devveri.com

DevVeri.com Hakkında

Big Data, Search, NoSQL her türlü yazılarınızı bekliyoruz!

Page 70: Hadoop @ devveri.com

Kaynaklarhttp://hadoop.apache.org

http://www.cloudera.com

http://www-01.ibm.com/software/data/bigdata/

http://en.wikipedia.org/wiki/Google_File_System

http://en.wikipedia.org/wiki/MapReduce

http://en.wikipedia.org/wiki/BigTable

http://www.evolven.com/images/stories/blog/blog_infographic_big_data_autonomy-big-data.jpg

http://architects.dzone.com/articles/big-data-rich-compendium-big

http://devveri.com

Page 71: Hadoop @ devveri.com

Teşekkürler!