Map Reduce Proste zliczanie słów i zapytania SQL

Podobne dokumenty
Map Reduce Wprowadzenie do Apache Hadoop

Kostki OLAP i język MDX

OnLine Analytical Processing (OLAP) Zapytania SQL

OnLine Analytical Processing (OLAP) Kostki OLAP i zapytania MDX

Przydatne sztuczki - sql. Na przykładzie postgres a.

3. Podzapytania, łączenie tabel i zapytań

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Technologie baz danych

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Proces ETL MS SQL Server Integration Services (SSIS)

LAB 3 (część 1 Projektu)

Struktura bazy danych

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Wprowadzenie do SQL TEMAT 3 - Zadania dodatkowe

Struktura drzewa w MySQL. Michał Tyszczenko

Zapytania z ograniczeniem czasowym w Oracle

Relacyjne bazy danych. Podstawy SQL

Systemy GIS Tworzenie zapytań w bazach danych

Współczesne systemy baz danych

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

Modelowanie wielowymiarowe i transformacja danych

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Autor: Joanna Karwowska

a) ile wynosiła populacja najbardziej i najmniej ludnego z województw (oraz jakie były ich nazwy)

Język SQL Złączenia. Laboratorium. Akademia Morska w Gdyni

Języki formalne i automaty Ćwiczenia 6

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Współczesne systemy baz danych

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

Autor: Joanna Karwowska

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Wykład 5. SQL praca z tabelami 2

Wykład 6. SQL praca z tabelami 3

Relacyjne bazy danych. Podstawy SQL

Optymalizacja poleceń SQL Metody dostępu do danych

Funkcjonalność słów kluczowych pozwala na przypisanie zestawu słów do wykładowców, grup i sal, w celach wyszukiwania danych.

Podstawy języka SQL cz. 2

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

PODZAPYTANIE (SUBSELECT)

Ćwiczenie zapytań języka bazy danych PostgreSQL

System imed24 Instrukcja Moduł Analizy i raporty

Aplikacje bazodanowe. Laboratorium 4. Dawid Poªap Aplikacje bazodanowe - laboratorium 4 Marzec, 15, / 13

EGZAMIN MATURALNY OD ROKU SZKOLNEGO

Bazy danych. dr inż. Arkadiusz Mirakowski

Wykład 05 Bazy danych

a) Polecenie: Wyświetl wszystkie rekordy z tabeli Pracownicy (wszystkie atrybuty)

Wprowadzenie do baz danych

ACESS- zadania z wykorzystaniem poleceń SQL

Grupowanie i funkcje agregacji. Grupowanie z użyciem rollup

Language INtegrated Query (LINQ)

Przestrzenne bazy danych Podstawy języka SQL

SQL praca z tabelami 4. Wykład 7

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

DOKUMENTY. v Strona 1 z 10

Złaczenia tablic: FROM, WHERE, JOIN

Wprowadzenie do języka SQL

Indeksowanie w bazach danych

Laboratorium 10. Odkrywanie cech i algorytm Non-Negative Matrix Factorization.

Grupowanie i funkcje agregacji

Symfonia Produkcja. Kreator raportów. Wersja 2013

Marek Rakowski Zdanie SELECT wybieranie danych z wielu tabel Strona 1 z 6

Podyplomowe Studia Systemy informatyczne w logistyce

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Marek Rakowski Podstawy zdania SELECT Strona 1 z 12

Technologie baz danych

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux

Autor: Joanna Karwowska

Język SQL. Rozdział 2. Proste zapytania

w ramach realizacji V etapu umowy nr 48/2009/F pt.

Podstawy Kompilatorów

Laboratorium Bazy danych SQL 2

BAZY DANYCH JĘZYK ZAPYTAŃ BAZ DANYCH SQL. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

3. Budowa prostych raportów opartych o bazę danych

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;

Język SQL podstawy zapytań

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Gdzie jest moja tabela?

Grupowanie i funkcje agregujące

Bazy Danych - Instrukcja do Ćwiczenia laboratoryjnego nr 8

Systemy internetowe. Wykład 4 mysql. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

PLNOG#10 Hadoop w akcji: analiza logów 1

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

ORACLE. System Zarządzania Bazą Danych Oracle. Oracle Advanced SQL

Podstawowe zapytania SELECT (na jednej tabeli)

Bazy danych SQL Server 2005

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

SQL Structured Query Language

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

Znaki globalne w Linuxie

Transkrypt:

Map Reduce Proste zliczanie słów i zapytania SQL 15 maja 2014 Opis pliku z zadaniami Wszystkie zadania na zajęciach będą przekazywane w postaci plików PDF sformatowanych jak ten. Będą się na nie składały różne roadzje zadań, ale za każdym razem będą odpowiednio oznaczone: Zadania do wykonania na zajęciach oznaczone są symbolem nie są one punktowane, ale należy je wykonać w czasie zajęć. Punktowane zadania do wykonania na zajęciach oznaczone są symbolem należy je wykonać na zajęciach i zaprezentować prowadzącemu. Zadania do wykonania w domu oznaczone są symbolem - są one punktowane, należy je dostarczyć w sposób podany przez prowadzącego i w wyznaczonym terminie (zwykle do dwóch dni przed kolejnymi zajęciami). Po zakończeniu zajęć proszę o udzielenie odpowiedzi na kilka pytań zebranych w ankietę dostępną pod adresem http://goo.gl/axx2gv 1

1 Grep count Rozszerzeniem podstawowego programu WordCount może być wyszukiwanie wszyskich fraz pasujących do podanego wzorca. Twoim zadaniem jest napisać program wykorzystujący framework Hadoop, który dla dowolnego zbioru dokumentów tekstowych (korpusu) znajdzie wszystkie frazy pasujące do wzorca, policzy ile razy dana fraza występuje w korpusie i posortuje frazy według liczby wystąpień. Wyrażenie regularne, używane w programie, powinno być podawane jako parametr wejściowy. Możesz skorzystać z przygotowanego szablonu projektu (klasa GrepCount). 2

2 N-gram 2p. Zadanie można było wykonać na poprzednich zajęciach lub w domu. Jeżeli go nie wykonałe(a)ś musisz zrobic to teraz. N-gramem nazywamy ciąg n kolejnych znaków pobranych z pewnej frazy. Na przyklad dla zdania Ala ma kota otrzymamy następujące 3-gramy wraz z ich licznościami: " ko" : 1 " ma" : 1 "Ala" : 1 "a k" : 1 "a m" : 1 "kot" : 1 "la " : 1 "ma " : 1 "ota" : 1 Twoim zadaniem jest napisać program wykorzystujący framework Hadoop, który dla dowolnego zbioru dokumentów tekstowych (korpusu) wygeneruje N-gramy dla każdej z linijek i policzy ich liczności w całym korpusie. Niech liczba n będzie dowolna, wybierana podczas uruchomienia programu. Możesz skorzystać z przygotowanego szablonu projektu (klasa NGramCount). 3

3 Neighbour count 2p. Innym sposobem analizy tekstu jest policzenie wyrazów współwystępujących, np w jednym zdaniu czy akapicie. Uproszczeniem tego zadania jest znalezienie w korpusie dokumentów takich par słów, które występują często razem. Twoim zadaniem jest napisać program wykorzystujący framework Hadoop, który dla dowolnego zbioru dokumentów tekstowych (korpusu) policzy liczbę unikalnych wyrazów z jakimi sąsiaduje każdy wyraz z korpusu. Dla zdania: Ala ma Ala da wynik programu powinien byc następujący: "Ala" : 2 "ma" : 1 "da" : 1 Możesz skorzystać z przygotowanego szablonu projektu (klasa Neighbour- Count). 4

4 SQL 3p. + 1p. bonus W plikach sales.in oraz dates.in znajdują się dane dotyczące sprzedaży produktów. Plik sales.in odpowiada relacji sales (sale id, product id, day id, customer name, value, shop city, is promo), a plik dates.in odpowiada relacji dates (day id, month, year). Twoim zadaniem jest napisać program wykorzystujący framework Hadoop, który będzie odpowiadał następującemu zapytaniu SQL: SELECT month, year, SUM(value) FROM sales NATURAL JOIN date WHERE is_promo GROUP BY month, year Początek przykładowej odpowiedzi programu (bez zadania dodatkowego): 01 2000 456412 01 2001 469190 01 2002 472088 02 2000 436074 02 2001 423590 02 2002 409556 03 2000 464078... Uwaga! Może istnieć wiele faktów sprzedaży dotyczących jednej daty. Taka sytuacja modelowana jest przez złączenie typu 1-wielu. Jeśli będziesz mieć problem z takim złączeniem możesz wykorzystać plik sales.easy.in, który zawiera tylko po jednym fakcie dla jednej daty (złączenie typu 1-1). Skorzystanie z tego ułatwienia będzie kosztować Cię 1 punkt. Zadanie dodatkowe Dodaj do swojego programu obsługę klauzuli ORDER BY SUM(value) DESC. Praca domowa! Zadanie niedokończone podczas zajęć należy dokończyć w domu i najpóźniej do wtorku do północy należy przesłać implementację klasy SQLTask prowadzącemu. 5