Miten Hadoopista tuli helppoa? Jarno Lindqvist Principal Advisor SAS

Samankaltaiset tiedostot
Mammutti vai elefantti?

SAS ja Hadoop jotain uutta, wanhaa, lainattua ja keltaista. Jarno Lindqvist, SAS Simon Gregory, Hortonworks Woody Christy, Cloudera

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

KUSTANNUS- JA KANNATTAVUUSTIETOA NOPEAMMIN JA HAVAINNOLLISEMMIN SAS COST AND PROFITABILITY MANAGEMENT MIKKO VARILA BUSINESS ADVISOR

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Tietokannat II -kurssin harjoitustyö

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Power BI Tech Conference Power BI. #TechConfFI. Johdanto

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

RDBMS - Yhteyskäytännöt

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

Hadoop Big Data & Analytiikka. SAS & Cloudera integraatio Live Demot: SAS Data Loader for Hadoop SAS VA SAS IMSTAT SAS HPA

Use of spatial data in the new production environment and in a data warehouse

Big data Lasse Seppänen

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

C++11 seminaari, kevät Johannes Koskinen

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

SAS Viya. Technical Foundation & SAS Visual Data Mining and Machine Learning demo Jarno Lindqvist Lindy Mayfield SAS Institute Oy

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

Tietorakenteet ja algoritmit

Nopeutta ja Sulavuutta Analytiikkaan

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Algorithms and Systems on big data management

Mobility Tool. Demo CIMO

Tietokannat II -kurssin harjoitustyö

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

Täysautomatisoitu raportointiympäristö. Joni-Petteri Paavilainen Jani Alatalo

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

WP3 Decision Support Technologies

SQL - STRUCTURED QUERY LANGUAGE

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

Dictionary taulut. Miten perus metadataa käytetään koodillisesti joustavuutta lisäämään

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

TW-LTE 4G/3G. USB-modeemi (USB 2.0)

Ivorion missio. Ivorio on Suomen johtava riippumaton big data asiantuntija. Autamme asiakkaitamme selvitymään tiedon vallankumouksesta voittajina.

Tapaustutkimus big data -analytiikkakoulutuksen suunnittelusta

Johdanto PHP PostgreSQL. PHP & PostgreSQL. Paul Tötterman 5. helmikuuta PHP & PostgreSQL.

Javan semaforit. Joel Rybicki, Aleksi Nur mi, Jara Uitto. Helsingin yliopisto

Duplikaattien havaitseminen ja poisto DataFlux välinein

T Testiraportti TR-3. ETL-työkalu

INSERT INTO koulutus VALUES ( Helsinki, 22.6, 4);

Laskennallisesti Älykkäät Järjestelmät. Sumean kmeans ja kmeans algoritmien vertailu

Rajapinta (interface)

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

RINNAKKAINEN OHJELMOINTI A,

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Tiedostonkäsittely ja asetusten tallentaminen. Graafisen käyttöliittymän ohjelmointi Luento 14

CSE-A1200 Tietokannat

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Tapahtumapohjainen ohjelmointi. Juha Järvensivu 2007

SPSS ohje. Metropolia Business School/ Pepe Vilpas

Web Services tietokantaohjelmoinnin perusteet

3. Binääripuu, Java-toteutus

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing Jan Nyman,

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Lab A1.FARM_Hyper-V.v3

HELIA 1 (14) Outi Virkki Tiedonhallinta

GPRS-lisäpalvelu INTERNET-ASETUKSET

Virtualisoi viisaasti paranna palvelua. Iikka Taanila Systems Architect IBM Systems and Technology Group

812336A C++ -kielen perusteet,

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

Other approaches to restrict multipliers

IHMISEN KOKOISTA BIG DATAA TERVEYDENHUOLLON ATK-PÄIVÄT JAANA SINIPURO

Java UI-komponentit (JTable) Juha Järvensivu 2007

Network Video Recorder. Pika-asennusohje

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

Metsälamminkankaan tuulivoimapuiston osayleiskaava

Coolselector Asennusohje

käännös käännösvaiheessa tarkasettaan linkitys

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Jypelin käyttöohjeet» Ruutukentän luominen

Web Service torilla tavataan!

Perusoikeusbarometri. Panu Artemjeff Erityisasiantuntija

HY-käyttäjät HUS/HYKS käyttäjät

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

CONVERSION KITS FOR FRAMES MR8 AND MR9 INSTALLATION INSTRUCTIONS

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

( ( OX2 Perkkiö. Rakennuskanta. Varjostus. 9 x N131 x HH145

Asiakaspalautteen merkitys laboratoriovirheiden paljastamisessa. Taustaa

Listarakenne (ArrayList-luokka)

14. Poikkeukset 14.1

Tynnyrivaara, OX2 Tuulivoimahanke. ( Layout 9 x N131 x HH145. Rakennukset Asuinrakennus Lomarakennus 9 x N131 x HH145 Varjostus 1 h/a 8 h/a 20 h/a

DI Studion käyttökokemuksia. Kaisu Ikonen, Tilastokeskus

Rinnakkaisohjelmointi, Syksy 2006

Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely

Transkriptio:

Miten Hadoopista tuli helppoa? Jarno Lindqvist Principal Advisor SAS

Hadoop? Avoimen lähdekoodin hajautettu tallennus- ja prosessointikehikko, joka skaalautuu ja replikoituu Söpö keltainen elefantti Alusta tuhansille lisäprojekteille, jotka täydentävät Hadoop-kehikon ominaisuuksia (Hive, Pig, Impala, Spark, Oozie, Sqoop, Mahout, Ambari, Flume, Storm )

Aina mun pitää koodata public class WordCount { public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable>{ private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(object key, Text value, Context context ) throws IOException, InterruptedException { StringTokenizer itr = new StringTokenizer(value.toString()); while (itr.hasmoretokens()) { word.set(itr.nexttoken()); context.write(word, one); public static class IntSumReducer extends Reducer<Text,IntWritable,Text,IntWritable> { private IntWritable result = new IntWritable(); public void reduce(text key, Iterable<IntWritable> values, Context context ) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); result.set(sum); context.write(key, result); INSERT OVERWRITE TABLE actions_users SELECT u.id, actions.date FROM ( SELECT av.uid AS uid FROM action_video av WHERE av.date = '2008-06-03' UNION ALL SELECT ac.uid AS uid FROM action_comment ac WHERE ac.date = '2008-06-03' ) actions JOIN users u ON(u.id = actions.uid); FROM ( FROM ( FROM action_video av SELECT av.uid AS uid, av.id AS id, av.date AS date UNION ALL FROM action_comment ac SELECT ac.uid AS uid, ac.id AS id, ac.date AS date ) union_actions SELECT union_actions.uid, union_actions.id, union_actions.date CLUSTER BY union_actions.uid) map INSERT OVERWRITE TABLE actions_reduced SELECT TRANSFORM(map.uid, map.id, map.date) USING 'reduce_script' AS (uid, id, reduced_val); A = LOAD '/user/xxx/firstinput' USING PigStorage(); B = group... C =... agrregation function STORE C INTO '/user/vxj/firstinputtempresult/days1';.. Atab = LOAD '/user/xxx/secondinput' USING PigStorage(); Btab = group... Ctab =... agrregation function STORE Ctab INTO '/user/vxj/secondinputtempresult/days1'; EXEC; E = LOAD '/user/vxj/firstinputtempresult/' USING PigStorage(); F = group... G =... aggregation function STORE G INTO '/user/vxj/finalresult1';.. Etab =LOAD '/user/vxj/secondinputtempresult/' USING PigStorage(); Ftab = group... Gtab =... aggregation function STORE Gtab INTO '/user/vxj/finalresult2'; big = LOAD 'big_data' AS (b1,b2,b3); tiny = LOAD 'tiny_data' AS (t1,t2,t3); mini = LOAD 'mini_data' AS (m1,m2,m3); C = JOIN big BY b1, tiny BY t1, mini BY m1 USING 'replicated'; Pig Latinaa!!! MapReducee!!! HiveQL:ää!!!

Miltä tämä kuulostaisi? Jee! Pastellivärisiä nappuloita!

Power to the people! Data vaivattomasti lähteistä Hadoopiin (ja sieltä pois) Datan profilointi siellä, missä se jo on (Hadoopissahan se ) Perustason filtteröinnit, summaukset, yhdistelyt Tadaa...! Transponointi Hadoopin sisällä! (DS2 prosessointi Hadoopissa Wow!) Datan vaivaton rinnakkaislataus SAS Visual Analyticsiin (jos sellainen on käytössä)

Paljon ytyä pienessä tuutissa! 1 DATAN SIIRTELY 2 DATAN MUUNTELU 3 DATAN PUHDISTUS 4 DATAN INTEGROINTI 5 DATAN JAKELU Copy Data to Hadoop Query Validate Join Load SAS LASR Profile Data Select Columns Parse Create Match codes Create tables Identification Analysis Apply Filters Standardize Sort & De-duplicate Create views Query Map Columns Change Case Aggregate Copy from Hadoop Import a File Sort / Order Gender Analysis Run a SAS program Browse Tables Calculate Columns Pattern Analysis Run a Hive program Transpose data Field Extraction Aggregate Transform data Delete Rows Access data, move it into Hadoop, and assess the data structure and content Select data of interest, manipulate it, and structure it into the data format desired Put data into a consistent format Combine datasets, including data that has no common key, remove duplicate data, and create new data points thru aggregation Load datasets into SAS LASR in-memory analytic server, Create new Hadoop tables, and deliver data to other databases and apps

No miten se sitten toimii? Hadoop Cluster Profile Cleanse Join Load Query Filter Transform De-duplicate SAS vapp SAS Data Loader (Web App) SAS/Access to Hadoop RDBMS SAS Text Files SAS LASR In-Memory Analytic Server (Optional) (Web Browser) Hadoop Cluster Node SAS DS2 code SAS Embedded Process SAS Data Quality Accelerator for Hadoop SAS Code Accelerator for Hadoop SAS Embedded Process

Entäpä käyttöliittymän päässä? 1) Käynnistä virtuaalikone 3) Avaa selain ja käytä! 2) Tarkista Data Loaderin IP

Millaisen elefantin tarvitsen? MapR 4.1 -> Mutta millasen SAS-palvelimen mää tarvitten? Kuules, et tarvitse sellaista lainkaan!!! Cloudera 5.2 -> Hortonworks 2.1 -> Data Loader toimii Hadoopklusterissa!

Hyvä kaveri myös Visual Analyticsille

Lataa 90 päivän testiversio Data Loaderista ja kokeile itse! http://www.sas.com/en_us/software/data-management/data-loader-hadoop.html#trial