Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
Универзитет „Св. Климент Охридски“ – Битола
ФАКУЛТЕТ ЗА ИНФОРМАТИЧКИ И КОМУНИКАЦИСКИ ТЕХНОЛОГИИ
Втор Циклус на Студии
Визуелизација на Big Digital Data – концепти,
модели и софтверски алатки
Магистерски труд
Професор Студент
Вонр.проф. д-р Снежана Савоска Драган Милевски
Битола, 2016
2
До
Наставен совет на втор циклус на студии
при Факултет за информатички и комуникациски
технологии - Битола
И З Ј А В А
Јас, Драган Милевски, студент на втор циклус на студии на Факултетот за
информатички и комуникациски технологии, Универзитет „Св. Климент
Охридски“ - Битола, изјавувам дека при изработка на магистерскиот труд со
наслов „Визуелизација на Big Digital Data – концепти, модели и софтверски
алатки“, ги почитував позитивните законски прописи од областа на заштита на
интелектуалната сопственост и авторски права и не користев реченици или
делови од трудови на други автори без да ги почитувам методолошките
стандарди.
Изјавата ја давам под материјална и кривична одговорност.
Изјавил
Драган Милевски
3
Содржина
Вовед .................................................................................................................................................. 11
1. BDD (Big Digital Data), историјат, развој на концепт според потребите на
бизнисот и научниот свет ........................................................................................................... 13
1.1.Big data концепти ................................................................................................................. 13
Интерфејси и канали (Interfaces and feeds) ................................................................. 16
Редундантна физичка инфраструктура (Redundant physical infrastructure) .... 17
Безбедносна инфраструктура (Security infrastructure) ............................................ 17
Оперативни податочни извори (Operational data sources) ..................................... 18
1.2.NoSQL технологии .............................................................................................................. 19
2.Опис на BDD концепти кои се користат и анализа на нивна примена во
реалниот свет .................................................................................................................................. 25
2.1.Традиционални и напредни анализи ........................................................................... 27
2.2.Big Data Апликации ............................................................................................................. 28
3.Опис на техники за визуелизација кои се применливи со осврт на елементите
на самата визуелизација ............................................................................................................. 31
3.1.Визуализација на Βig Data ................................................................................................ 33
3.2.Конвенционални методи за визуализација на податоци ...................................... 38
3.3.Напредокот во визуализацијата на Big Data ............................................................. 41
3.4.Алатки за визуализација ................................................................................................... 47
4. Анализа на концепти и модели кои се користат за визуелизација на BDD ......... 51
4.1.Анализа на модели на Big Data ...................................................................................... 52
Преглед на Mashup моделот (Mashup View Pattern): ................................................. 55
Compression Pattern (модел на компресија) ................................................................ 58
Модел на зона (Zoning Pattern) .......................................................................................... 59
Модел на прв поглед (First Glimpse Pattern) ................................................................ 59
Модел на детонатор (Exploder Pattern) .......................................................................... 60
Модел на портал (Portal Pattern) ....................................................................................... 61
Модел на олеснувачка услуга (Service Facilitator Pattern) ...................................... 62
4.2.Ресурси, референции, и алатки ..................................................................................... 65
4.3.Импликации за квалитетот на податоците на Big Data .......................................... 67
4.4.Концептуализација на ефикасна визуелизација на податоци ............................ 70
Компоненти на визуелизација на бизнис податоците .............................................. 71
4
5. Анализа на софтверски алатки и KPI (Key Performance Indicators) за
визуелизација на BDD .................................................................................................................. 74
5.1.Инсталација на Appache Zeppelin на Windows 64 bit .............................................. 75
5.2.Кориснички интерфејс на Apache Zeppelin ................................................................ 78
Навигационо мени ................................................................................................................. 80
Notebook – Бележник ............................................................................................................ 80
5.3.Интерпретер .......................................................................................................................... 81
5.4.Распоред на белешки ......................................................................................................... 83
5.5. Користење на параграф ................................................................................................... 84
5.6. Поставување на Note палета со алатки ..................................................................... 86
5.7.Компаративна анализа на софтверот Zeppelin за визуелизација на Big
Digital Data..................................................................................................................................... 88
5.8.Визуелизација со користење на Zeppelin ................................................................... 89
5.9.Креирање визуелизации со помош на локални бази на податоци и SQL
команди ....................................................................................................................................... 104
5.10. Претставување на математички визуелизации .................................................. 111
5.11.Објавување на претставените визуелизации на друг екран ........................... 112
5.12.Копирање на параграфи со помош на линкови ................................................... 113
5.13. Вградување на пасуси во сопствена web страна .............................................. 114
Заклучок .......................................................................................................................................... 116
Користена Литература ................................................................................................................ 119
5
Листа на Слики
Слика 1: Расчленување на особините на концептот Big Data на почеток
Слика 2: Циклус за управување со Big Data процесите
Слика 3: Архитектура на Big Data
Слика 4: Пример за претставување на три ентитети во графичка база на
податоци поврзани меѓусебно [2]
Слика 5: Различни извори на податоци [3]
Слика 6: Типична хардверска топологија за Big Data [3]
Слика 7: Топ 50 Твитер сметки во Велика Британија и нивните следбеници [4]
Слика 8: Визуелизација со техника паралелни координати
Слика 9: Treemap поглед на изборот на песните од социјалните мрежи и
стримингот на медиумските услуги [5]
Слика 10: Интерактивно поврзување помеѓу хистограми (горе) и географска
карта (долу) на бази на податоци [5]
Слика 11: Пример за Treemap визуелизацијa
Слика 12: Пример за Circle Packing визуелизација
Слика 13: Пример за Sunburst визуелизација
Слика 14: Пример за Parallel Coordinates визуелизација
Слика 15: Пример за Streamgraph визуелизација
Слика 16: Пример за Circular Network Diagram визуелизација
Слика 17: Тек на традиционална визуелизација
Слика 18: Анализи на big data и модели на визуелизации [3]
Слика 19: Преглед на Mashup моделот со апстрактни податоци од Hadoop
Слика 20: Преглед на Mashup моделот со апстрактни податоци во Hadoop [3]
Слика 21: Модел на компресија [3]
Слика 22: Модел на зона
Слика 23: Модел на прв поглед
Слика 24: Модел на детонатор
Слика 25: Модел на портал
Слика 26: Модел на олеснувачка услуга [3]
Слика 27: Хиерархиски преглед на податоци
Слика 28: Графички кориснички интерфејс на Zeppelin
Слика 29: Чекор по чекор инсталација на Apache Zeppelin
6
Слика 30: Стартување на Zeppelin сервер
Слика 31: Почетна страна на Apache Zeppelin
Слика 32: Почетен интерфејс на Apache Zeppelin
Слика 33: Филтрирање на записи
Слика 34: Внесување на нов запис
Слика 35: Notebook мени
Слика 36: Interpreter мени
Слика 37: Креирање на нов интерпретер
Слика 38: Преглед на внесени параграфи во Zeppelin
Слика 39: Подесување на interpreter во Zeppelin
Слика 40: Пример како изгледа внесен код и извршувачки код во Zeppelin
Слика 41: Конфигурирање на параграф
Слика 42: Toolbar со алатки за секој запис
Слика 43: Командни копчиња на палетата со алатки
Слика 44: Приказ на сите кратенки на тастатура кои можат да се извршат во
софтверот Zeppelin
Слика 45: Приказ на екран
Слика 46: Додавање на нов запис Avtomobili
Слика 47: База со дел од податоците cars.csv прикажана во Excel
Слика 48: Извршување на кодот во Scala за вчитување и приказ на база со
податоци
Слика 49: Приказ на базата cars.csv во табела
Слика 50: Мени за подесување и правење на визуелизации
Слика 51: Визуелизација за годината на производство во однос со минимумот
од забрзувањето групирани по потекло на автомобилите
Слика 52: Деталн преглед на првата визуелизација
Слика 53: Визуелизација за големината на моторот во однос со минимумот на
забрзувањето на автомобилите групирана по година на производство
Слика 54: Детален преглед на сите автомобили од базата со податоци cars.csv
Слика 55: Контрола на групираните податоци, кои податоци да се прикажат
Слика 56: Филтрирање само на годините на производство на податоците кои се
анализираат
Слика 57: Визуелизација во која бројот на цилиндрите, бројот на коњски сили и
зафатнината на моторот се во однос со тежината на автомобилите
7
Слика 58: Област за конфигурирање на визуелизација
Слика 59: Детален преглед на третата визуелизација
Слика 60: Визуелизација за тежината на возилата во однос со максимумот на
забрзувањето на автомобилите
Слика 61: Визуелизација за потекло на возилата во однос со година на
производство групирана по големината на моторот на автомобилите
Слика 62: База со дел од податоците cars.csv прикажана во Excel
Слика 63: Опции за визуелизација на базата со податоци "Master"
Слика 64: Визуелизација во која е претставен градот на раѓање на секој играч
во однос на средната тежина на секој безбол играч.
Слика 65: Детален преглед на точкастиот дијаграм од креираната
визуелизација
Слика 66: База со дел од податоците bank.csv прикажана во Excel
Слика 67: Додавање на нов запис Bank во Zeppelin
Слика 68: Пишување и извршување на горенаведениот код во Zeppelin
Слика 69: Селектирање и групирање на колоната "age" од базата со податоци
bank со помош на SQL
Слика 70: Визуелизација со услов во колоната "age" да се прикажуваат
годините помали од 30
Слика 71: Додавање на поле во кое се внесуваат променливите вредности
Слика 72: Приказ на податоците од базата со податоци bank до 50 години
Слика 73: Приказ на податоците од базата со податоци bank до 70 години
Слика 74: Приказ на табела која се креира со кодот println во Scala
Слика 75: Математичка визуелизација со Scala
Слика 76: URL адреса за споделување на работниот екран во Zeppelin
Слика 77: Пример како изгледа споделување на еден екран во Zeppelin на
повеќе места во исто време
Слика 78: Копирање на параграф со визуелизација
Слика 79: Пример како изгледа копирање на еден параграф или визуелизација
8
Листа на табели
Табела 1: Карактеристики кои методите за визуелизација ги поседуваат во
однос на податоците за предложените методи за визуелизација [5]
Табела 2: Класификација на методите за визуелизација според поддржаните
класи за Big data [5]
Табела 3: SWOT анализа за визуелизација на горенаведените софтверски
алатки [5]
Табела 4: BI наспроти Big Data
Табела 5: Провајдери за различни “as-a-service“ услуги [3]
Табела 6: Дистрибуирани и групирани канали на Таксономија за Big data. [3]
9
Апстракт
Во овој магистерски труд насловен како “Визуелизација на Big Digital Data –
концепти модели и софтверски алатки” ќе се обработуваат збир на големи и
комплексни множества на податоци кои се разнородни и тешки за обработка, со
користење на алатки за менаџирање, со бази на податоци или со апликации за
обработка на податоци. За таа цел ќе биде даден детален опис на софтверската
алатка и интерфејсот на Appache Zeppelin, односно неговите основни елементи
и правење на визуелизации. Целта на оваа софтверска алатка е да им овозможи
на инженерите на податоци, аналитичарите и научниците на податоци да бидат
попродуктивни преку развој, организирање, спроведување и споделување,
размена на код на податоци и визуелизација на резултати. Дел од овај
магистерски труд ќе ги претстави и правила на анализа на концепти и модели
кои се користат за визуелизација на BDD. Во тој дел се анализираат кои се
новите модели на анализа на Big Data и моделите на визуелизација кои
овозможуваат подобар увид на обемот на податоци.
На почетокот ќе биде представен опис на техники за визуелизација кои се
применливи на самата визуелизација, како и конвенционални методи за
визуализација на голем обем на податоци, како на пример: табели, хистограми,
прикази во координатен систем, пита, комбинација на дијаграми, венов дијаграм,
дијаграми за протокот на податоци и дијаграми за врските помеѓу ентитетите.
Дополнителни методи за мултидимензионална и мултиваријантна анализа како
паралелни координати, хиерархиски техники и семантички мрежи.
Со оглед на тоа со развојот на потребите на бизнисот и научниот свет ќе бидат
разработени примери со што ќе се овозможи подобра и јасна анализа помеѓу
истите.
Клучни зборови: Big Digital Data, визуелизација, Appache Zeppelin.
10
Abstract
In this master thesis titled "Visualization of Big Digital Data - concept models and
software tools" will be elaborated a collection of large and complex sets of data that
are heterogeneous and difficult to process, using management tools, databases or
with data processing applications. For this purpose, a detailed description of the
software tool and the interface of Appache Zeppelin will be given, i.e. its basic
elements and visualization.
The purpose of this software tool is to enable data engineers, analysts and data
scientists to be more productive through the development, organization, and
implementation and sharing, data exchange and visualization of results. Part of this
master thesis will also present rules for the analysis of concepts and models used for
visualization of BDD.
In this section, we analyze what are the new Big Data analysis models and
visualization models that provide a better insight into the volume of data.
At the beginning, a description of visualization techniques that are applicable to the
visualization itself will be presented, as well as conventional methods for visualizing a
large amount of data, such as tables, histograms, coordinate system displays, pies,
combination of diagrams, vein diagram , data flow diagrams, and cross-entity
relationships diagrams. Additional methods will be implemented for multidimensional
and multivariate analysis such as: parallel coordinates, hierarchical techniques and
semantic networks.
Given this, with the development of the business and scientific world, examples will be
developed which will enable better and evident analysis between them.
Key words: Big Digital Data, Visualization, Appache Zeppelin.
11
Вовед
Напливот на огромни количества податоци во дигиталната револуција и
потребата од нивната анализа се повеќе ги притискаат IT стручњаците и
менаџерите да размислуваат за поефикасна анализа на податоци (data analysis).
дека сите тие разнородни податоци е потребно да се анализираат со
специфични аналитички техники и да се добијат податоци кои ќе претставуваат
некој вид вистинска истражувачка информација (actionable intelligence).
За да се добијат податоците во формат соодветен за овај вид анализа, научниот
и бизнис светот користат многу помошни техники, од кои визуелизацијата е една
од најефективните и со најбрз канал за комуникација на човекот. Симбиозата на
двете научни дисциплини Big Digital Data и визуелизација може да обезбеди
флексибилни канали за добивање на информации на брз и говорлив начин за
корисникот.
Концептите за визуелизација на Big Digital Data (BDD) заслужуваат внимание
како поради потребата да се анализираат од страна на податочните модели кои
ги користат, така и поради потребата да се користат од корисници со различни
нивоа на IT вештини и потреби за различни анализи во време или простор.
Oгромни количества податоци и објекти кои се собираат од различни извори а
се слеваат во големи бази со разнородни податоци (концепт на BDD) имаат
потреба од анализа, најчесто со визуелизација. Поради тоа, визуелизацијата на
BDD е важна да се проучи, како од концептуален, така и од методолошки и
практичен аспект.
Big Data станува еден од најголемите технолошки трендови кој има потенцијал
да го промени начинот на кој организациите ги користат информациите за да го
збогатат корисничкото искуство и да ги трансформираат своите бизнис модели.
Big data не се фокусира само на еден пазар. Напротив, тоа е комбинација од
технологии за менаџирање со податоци кои еволуирале со тек на време. Big Data
им овозможува на организациите да чуваат, менаџираат, и да манипулираат со
голем број на податоци со точна брзина и во точно време за да ги добијат
точните податоци. Клучот за разбирањето на big data е дека податоците мора да
бидат менаџирани за да се исполнат барањата на бизнисот и да се дизајнира
12
решение. Како што компаниите почнуваат да ги евалуираат новите видови на big
data решенија, почнуваат да се појавуваат многу нови можности. На пример,
производствените компании можат да се оспособат да ги следат податоците кои
доаѓаат од машинските сензори за да изнајдат начин како процесите треба да
се модифицираат пред да се случи катастрофален настан. Со помош на Big
Data, возможно е компаниите да имаат преглед на податоците веднаш, така што
би можело да ги наговорат потрошувачите да купат поскап производ сличен на
оној кој го одбрале за време на процесирањето на трансакцијата поради
споредбено подобри перформанси. Big data решенијата може да се користат и
во здравствениот систем за да се одреди причината за болеста и да се обезбеди
соодветен доктор и терапија за лекување но и насекаде каде се потребни
сложени анализи од разнородни податоци, со голем обем, варијабилност,
брзина, со голем варијабилитет и различни формати во кои се чуваат.
13
1. BDD (Big Digital Data), историјат, развој на концепт
според потребите на бизнисот и научниот свет
Менаџирањето со податоците вклучува користење на скоро сите технолошки
напредоци во поглед на хардвер, софтвер, мрежи и компјутерски модели. Неккои
од денешните трендови се виртуелизација и cloud computing. Симбиозата на
новите технологии носи намалување на трошоците, почнувајќи од потребната
меморија и времето потребно за обработка на податоци кои отвараат нови
можности. Овие технологии го трансформираат начинот на менаџирање и
чување на податоци. Big data е концепт кој се појавил заради решавањето на
проблемите кои се појавиле од влијанието на сите овие фактори. Поради тоа е
важно да се одговори на прашањата: Што претставуваат Big data концептите и
зошто се важни за напредокот на научната мисла и бизнисот.
1.1.Big data концепти
Big Data претставува збир на големи и комплексни множества на податоци кои
се разнородни и тешки за обработка, со користење на алатки за менаџирање со
бази на податоци или апликации за обработка на податоци. Нивни
карактеристики биле:
14
Слика 1: Расчленување на особините на концептот Big Data на почеток
Екстремно голем волумен на податоци
Екстремно голема брзина на проток на податоците
Екстремна разновидност на податоците
Вистинитост на податоците
Big data или „големи податоци“ е важен концепт бидејќи им овозможува на
организациите да собираат, чуваат, менаџираат и да манипулираат со големи
количества податоци со голема брзина на проток, во точно време, за да се
добијат конзистентни и точни податоци. Big data не е самосамостојна
технологија, туку комбинација од нови и стари технологии која помага да се
анализираат податоците и да се добијат информации од нив. Big Data ја нуди
можноста да се менаџираат голем број на различни податоци, со голема брзина
и во точна временска рамка за да се добијат анализи и реакција во реално
време. Се означува со следниве четири карактеристики:
Волумен: Голем број податоци кои се содржат
Брзина: Голема брзина на обработка на податоците
15
Разновидност: Различи видови на податоци
Вистинитост: Колку се точни податоците
Функционалните процеси кои ги следат Big data процесите се прикажани на
Слика 2 на која е покажано дека податоците мора прво да се прибираат, па потоа
да се организираат и интегрираат. После успешното имплементирање на првите
три фази, податоците можат да бидат анализирани врз основа на проблемот кој
е адресиран. На крајот, менаџментот бара да се преземе дејство врз основа на
резултатот од анализата.
Слика 2: Циклус за управување со Big Data процесите
На пример Amazon.com може да препорача книга врз основа на претходно
купување, или потрошувачот може да добие купон за попуст за идно купување
на производ сличен на некој кој штотуку го купил.
За обработка на big data, мора да се опфатат различни услуги кои ќе им
овозможат на компаниите користење на многу извори на податоци на брз и
ефикасен начин. За сето ова да стане појасно, ги претставивме составните
делови на архитектурата која поддржува big data на слика 3, на кој се гледа кои
компоненти се застапени и каква е поврзаноста помеѓу нив. Во следниот дел,
објаснета е секоја компонента на архитектурата и опишано е како секоја од нив
е поврзана со останатите.
16
Слика 3: Архитектура на Big Data
Интерфејси и канали (Interfaces and feeds)
Пред да навлеземе во сржта на самиот збир на big data технологии, може да се
забележи дека на секоја страна од дијаграмот стојат индикациите за интерфејси
и канали, во и надвор од внатрешно обработуваните податоци како и канали за
податоци од надворешни извори. Со цел да се разбере како big data
функционира во реалниот свет, важно е да се започне со разбирање на оваа
потреба за споменатите интерфејси и канали. Всушност, она што придонесува
за големото значење на big data концептите е тоа што се базираат на собирање
на големо количество податоци од многу различни извори. Према тоа,
отворениот интерфејс за програмирање апликации (API) е јадрото на било која
big data архитектура. Во прилог на ова тврдење е дека интерфејсот е потребен
на секое ниво и помеѓу секој слој од сетот на користени технологии. Од
претходно наведеното, станува јасно дека Big data не може да постои без
интеграциски услуги.
17
Редундантна физичка инфраструктура (Redundant physical infrastructure)
Физичката инфраструктура за поддршка на big data е кардинална за
функционирањето и приспособливоста на вкупниот big data план. Всушност, без
постоењето на цврста и стабилна физичка инфраструктура, big data веројатно
не би можел да се развиев во олку важен тренд за справување со големи
количества податоци со динамички и разнородни својства.
За поддшка на огромни разнородни количества податоци, физичката
инфраструктура за big data мора да е различна од онаа за справување со
вообичаено количество податоци сместени во SQL структури на бази на
податоци. Физичката инфраструктура се базира врз дистрибуиран компјутерски
модел. Ова значи дека податоците можат физички да се чуваат на многу
различни локации и меѓусебно можат да се поврзат со мрежи, со користење на
дистрибуиран систем на фајлови и различни алатки за big data анализи и
апликации.
Вишокот на мемориски простор е важен бидејќи се соочуваме со многу големо
количество на податоци од многу различни извори. Ваквиот вишок може да се
јави во повеќе форми. Доколку одредена компанија креирала приватен cloud,
вишокот треба да е вграден во приватната средина за да може да се приспособи
и да го поддржува променливиот обем на обработка. Доколку компанијата сака
да одржи внатрешен IT пораст, може да користи екстерни cloud сервиси, со цел
да ги зголеми своите интерни ресурси. Во некои случаи, ваквиот вишок може да
се јави во облик како Софтвер како Сервис (SaaS), што им овозможува на
компаниите софистицирана обработка на податоци како услуга. SaaS пристапот
овозможува пониски трошоци, побрз старт и непречен развој на основната
технологија.
Безбедносна инфраструктура (Security infrastructure)
Колку поважна станува big data анализата на податоци за компаниите, толку
поважно е податоците да бидат безбедни. На пример, доколку се работи за
здравствени организации, најверојатно ќе бидат потребни big data апликации за
18
да се проценат демографските промени или промените во потребите на
пациентите кои секојдневно растат и креираат големи количества податоци.
Ваквите податоци за конститутивните потреби треба да бидат заштитени со цел
да се задоволат регулаторните барања и да се заштити приватноста на
пациентите. Треба да се има во предвид на кого му е дозволен увид во тие
податоци и под кои околности им е дозволен истиот. Исто така е потребно да
може да се провери идентитетот на корисниците, како и да се заштити
идентитетот на пациентите. Ваквите сигурносни барања мораат да бидат дел од
big data материјалот од самиот почеток, а не да се додадат на крајот.
Оперативни податочни извори (Operational data sources)
Кога се размислува за big data концептите, важно е да се разбере дека треба да
се вклучат сите извори на податоци кои ќе дадат комплетна слика за дејноста и
да се види како добиените податоци влијаат на начинот на кој се врши истата.
Оперативниот дел од изворите на податоци се состои од високо структурирани
податоци обработени со трансакциските податоци и сместени во релациона
база на податоци.
Во big data сферата се развиваат и нови пристапи кон обработката на податоци
кои вклучуваат рамна структура на бази на податоци во облик на документ,
график, колумнар или геопросторна форма. Заеднички се именуваат како
NoSQL, или „не само SQL“, бази на податоци.
Архитектурата на податоците мора да се планира според видот на трансакции.
Со ова се осигурува дека точните податоци се достапни токму кога се потребни.
Исто така, потребна е податочна архитектура која поддржува комплексна
неструктурирана содржина. Треба да се вклучени и релациони и нерелациони
бази на податоци кога се пристапува кон користење на big data. Исто така, важно
е и да се вклучат и неструктурирани податочни извори, како системи за
обработка на содржини, така што ќе бидеме чекор поблиску до комплетната
слика за дејноста низ сите видови податоци кои треба да се анализираат.
Сите овие оперативни податочни архитектури имаат неколку заеднички
карактеристики:
19
Претставуваат системи за архивирање кои ги следат критичните процеси
и податоци потребни за синхронизирано секојдневно функционирање на
дејноста
Континуирано се надградуваат врз основа на трансакциите кои се
случуваат во нив
Со цел ваквите извори да обезбедат точна претстава за бизнисот, мора
да се спојат структурирани и неструктурирани податоци
Ваквите системи мора да бидат приспособливи со цел доследно да
поддржуваат илјадници корисници. Може да вклучуваат трансакциски
системи за електронска трговија, системи за управување на врските со
клиентите, или апликации за контакт центри. [1]
1.2.NoSQL технологии
Релационите бази на податоци се избор на голем број на програмери и
администратори за веб базираните тринивовски апликации. Тој концепт е избран
поради применетата методологијата на моделирање на податоци кога се работи
за веб и енџините за пребарување што воспоставуваат интеракција со самите
податоци преку апликциите и самата природа на ваквите технологии кои
дозволуваат да биде зачувана конзистентноста на снимените податоци и покрај
тоа што можеби тие се дистрибуирани. Потребите почнале да се менуваат
поради начинот на чување на податоците, па повеќе не можело со овој концепт
да се понуди решение за сите проблеми. Така произлегла потребата од
поинакви податочни структури за кои е употребен терминот NoSQL. Тој нуди
решение на споменатите проблеми преку првенствено расчленување на
стандардните SQL шематски ориентирани парадигми. NoSQL технологиите се
високо скалабилни, некои од нив се високо дистрибуирани со високи
перформанси. Тие комплетираат структура со постоечки RDBMS1 (relational
1 RDBMS системите понатаму се јавуваат со однапред дефинирана шема и структура на
табелата. Неструктурираните податоци се податоци складирани во различни структури и
формати, за разлика од релационите бази на податоци каде податоците се чуваат во колони и
редови, како структура. Присуството на оваа хибридна мешавина на податоци ја прави
комплексна анализата на големите податоци. Одлуките кои треба да се направат во врска со тоа
20
database management system) технологии преку воведување додатни можности,
како на пример: играње на улога на cache, пребарувач, неструктурирани
скаладови на податоци и променливи складови на информации.
NoSQL технологиите се поделени во четири главни категории:
1. Key/value data store (Клуч/вредност податочни складишта)
2. Column data store (Чување на податоци по колони)
3. Document-oriented data store (Чување на податоци насочени кон
документи)
4. Graph data store (Чување на графички податоци)
1. Key/value data store: Првиот вид на NoSQL бази е и најлесен за
разбирање концепт и претпоставува база за чување на податоци во
клуч/вредност бази или складишта. Овие складишта на податоци
всушност се однесуваат како речници и работат преку поврзување на
клучен збор со вредност. Често се користат во случаи во кои се потребни
високи перформанси во кои треба да се зачуваат основни информации –
на пример, кога информациите од една сесија треба да се запишат и да
може да се повикаат многу брзо. Ваквите складишта на податоци се
навистина ефикасни за ваков тип на користење, а исто така се многу
скалабилни.
Key/value data store се користат во контекст на пребарување за да се
осигура дека податоците нема да бидат изгубени, како на пример кога се
прави структура за најавување на корисници или пак индексирање на
страна на пребарувачите. Redis и Rial KV се едни од најпознатите
Key/value податочни складишта. Redis е пошироко користен и има
внатрешна меморија за чување на Key/Value. Redis најчесто се користи за
зачувување на информации од веб апликации – поврзани податоци, како
на пример јазли или веб апликации изработени во PHP кои можат да
опслужуваат илјадници сесии за повикување на зачувани информации во
се дали сите овие податоци треба да бидат најпрво споени, а потоа анализирани или дали само
вкупниот поглед на податоци од различни извори треба да бидат споредени.
21
секунда без да се почувствуваат промени во работењето. Redis е сместен
помеѓу Logstash и ElasticSearch за да се избегне губење на стримуваните
податоци за најавување пред да се индексира во ElasticSearch за
пребарување.
2. Column data store се базираат на концептот на колони и се користат кога
key/value data store ќе ги достигнат своите граници заради тоа што е
потребно да се зачуваат поголем број на податоци кои ја надминуваат
природата на Key/value data store. Складиштата на податоци во колони
можат да бидат тешки за да се разберат за оние кои претходно работеле
на RDBMS (relational database management system) но тие се прилично
едноставни, бидејќи податоците се организирани во редови. Најголемата
придобивка од ваквите бази на податоци е тоа што може брзо да се
прегледуваат голем број на податоци. Додека кај RDBMS, редот е
континуиран внес на еден диск, а повеќе редови се чуваат на различни
места на дискот, што го прави прегледувањето потешко, во колонарните
бази, сите ќелии се дел од колона кои се чуваат на исто место.
Како пример за ова, можеме да земеме во предвид пребарување на сите
наслови на блог постови во RDBMS што може да биде доста скапо во
смисла на простор, посебно доколку зборуваме за милиони податоци,
додека пак во колонарните бази, такво пребарување би било доста
едноставно.
Колонарните бази на податоци се всушност доста едноставни за
повикување на голем број на информации од одредена група, но кога
станува збор за размената, недостасува флексибилност. Најкористената
колонарна база е Google Cloud Bigtable, или поконкретно Apache HBase и
Cassandra. [2]
Една од придобивките од колонарните бази на податоци е лесното
скалирање бидејќи податоците се чуваат во колони и овие колони се
високо скалабилни во смисол на количеството податоци кое можат да ја
содржат. Заради ова, тие се користат за чување на податоци кои се
неменливи и константни, со долг период на валидност.
3. Document-oriented data store: колонарните бази не се најдобри за
структурирање на податоци кога станува збор за подлабоки структури.
Тука на сцена стапуваат складишта на податоци кои се насочени кон
22
докуметите. Податоците се всушност зачувувани во Key/Value (К/V)
парови, но тие се компресирани во она што се нарекува документ. Овој
документ се потпира врз структура или енкодирање како што е XML, но во
најголемиот дел, се потпира врз JSON (JаvaScript Object Notation). Иако
ваквите бази на податоци се структурно покорисни за претставување на
податоци и тие си имаат своја слаба страна – посебно кога се работи за
интеракција со податоците. Тие всушност мора да го прегледаат целиот
документ што може да ги наруши перформансите. Ваквите бази се
користат кога треба да се вгнездат информации. На пример, доколку би
претставиле корисничка сметка, таа го содржи следново:
- Основни информации: име, презиме, дата на раѓање, слика на
профилот, URL, дата на креирање итн.
- Сложени информации: адреса, метод на автентикација (лозинка,
Facebook, Итн),
Тоа е причината зошто NoSQL складиштата кои се насочени кон
документи често се користат во веб апликации, претставувајќи предмети
со вгнездени објекти, поради што интегрирањето на front-end JavaScript
технологијата е стабилна бидејќи двете технологии работат врз JSON
нотација. Најкористените технологии денес за NoSQL бази се MongoDB,
Couchbase и Apache CouchDB. Лесни се за инсталација, имаат добра
документација, скалабилни се, но најважно од се, тие се најдобрите
избори за започнување на модерна веб апликација.
Couchbase е една од технологиите кои се користат во нашата структура
за анализа на digital big data заради начинот на кој можат да се чуваат,
организираат и пребаруваат податоците. Couchbase беше избрана
поради перформансите кои покажуваат дека високата латентност на
ваквите бази е пониска за поголемо операцитивно количество податоци
отколку за MongoDB. Исто така, Couchbase е комбинација од CouchDB и
Memcached од перспектива на поддршката.
4. Graph data store се различни од другите видови на бази на податоци.
Користат различна парадигма за прикажување на податоците – структура
23
во вид на дрво со јазли и рабови кои меѓусебно се поврзани со патеки
наречени врски.
Овие бази на податоци се издигнале заедно со социјалните мрежи, кои на
пример, се користат за да ја претстават мрежата на пријатели на
корисникот, нивните врски со пријателите итн. Со другите видови на бази
на податоци возможно е да се чуваат врските на пријателите во
документи, меѓутоа тоа би било доста сложено и тешко. Подобро е да се
користи графичка база на податоци и да се креираат јазли за секој
пријател, да се поврзат со врски и да се пребарува низ базата врз основа
на потребата од пребарувањето. Познатата графичка база на податоци
Neo4j, се користи во оние случаи во кои постои сложена врска помеѓу
информациите, како на пример врски помеѓу ентитети и други ентитети
кои се поврзани со нив, но исто така се користи во случаи на
класификација. На Слика 4 е претставено како три ентитети се поврзани
меѓусебно во графичка база на податоци.
24
Слика 4: Пример за претставување на три ентитети во графичка база на податоци
поврзани меѓусебно [2]
25
2.Опис на BDD концепти кои се користат и анализа на
нивна примена во реалниот свет
Поимот Big Digital Data денес е еден од најприсутните во бизнис аналитичката
заедница , а сепак концептите предизвикуваат доста недоразбирања. Big digital
data бил користен како поим за да се пренесат различни идеи, вклучувајќи: голем
број на податоци, анализи од социјалните медиуми, можностите за менаџирање
на податоците од новата генерација, податоци во реално време и многу повеќе.
Без оглед на видот, организациите започнуваат да сфаќаат и истражуваат како
да ги користат ваквите решенија за обработка и анализа на широк спектар на
информации на нови начини. Во некои ситуации потребно е да се разбере како
два целосно различни елементи на податоци се поврзани. Ова не е типично
пребарување кое може да се бара од структурирана, релациона база на
податоци. Во овој случај, графичка база на податоци е подобар избор, бидејќи е
специјално дизајнирана да ги оддели „јазлите“ или ентитетите од
„карактеристиките“ или информациите кои ги карактеризираат ентитетите и
„крајот“ или врската помеѓу јазите и карактеристиките. Со користење на точната
база на податоци ќе се подобри и извршувањето. Најчесто графичката база на
податоци се користи за научна и техничка примена.
Други важни операциони пристапи кон базите на податоци вклучуваат бази на
податоци кои ефективно чуваат информации во колони наместо во редови. Овој
пристап придонесува за побрзо извршување заради тоа што внесот/изнесот е
многу брз. Кога дел од равенството се географски податоци, се оптимизира
просторна база на податоци за зачувување и пребарување на податоци според
начинот на кој предметите се просторно поврзани.
Се поголем и поголем број на информации доаѓаат од различни извори кои не
се толку организирани и јасни, вклучувајќи и податоци кои доаѓаат од машини
или сензори и голем број на јавни и приватни извори на податоци. Во минатото,
поголемиот број компании не биле способни да чуваат толку голем број на
податоци, бидејќи тоа било прескапо. Доколку компаниите биле способни за
чување на податоците, немале алатки со кои би ги обработиле. Алатките кои
26
постоеле биле премногу сложени за користење и не ги давале резултатите во
разумна временска рамка.
Со еволуцијата на компјутерската технологија, сега е возможно да се менџира
со огромен волумен на податоци што претходно можело да биде направено само
од суперкомпјутери кои биле премногу скапи. Цените на таквите системи се
намалиле и како резултат на тоа, новите технологии станале достапни за сите.
Вистинското големо пробивање на Big Data се случило кога компаниите како
Yahoo!, Google, Facebook итн. сфатиле дека им е потребна помош за да
бенефицираат од огромниот број на податоци кои ги поседуваат.
На овие компании им било потребно да најдат нови технологии кои ќе им
овозможат да чуваат, пристапуваат и анализираат огромен број на информации
во скоро реално време за да можат да го искористат (монетизираат)
поседувањето на толкав број на податоци за корисниците на Интернетот.
Нивните решенија се трансформираат во пазар за менаџмент на податоци.
Всушност, иновативните технологии како MapReduce, Hadoop и Big Table се
покажаа како искри кои разгореле цела нова генерација на управување со
податоци. Овие технологии се занимаваат со еден од најосновните проблеми –
можноста за обработување на огромен број на податоци на ефективен начин, по
пристапна цена и во разумна временска рамка. Технологиите кои го
подпомогнале овој концепт се следните:
Big Table е создаден од Google како систем за чување податоци кои ќе
менаџираат со сеопфатни високо скалабилни структурирани податоци.
Податоците се организирани во табели со колони и редови. За разлика од
традиционалните релациони модели на бази на податоци, Big Table е
ретка, дистрибуирана, постојана мултидимензионално подредена мапа.
Наменета е за чување на голем број на податоци на пристапни сервери
(commodity server).
MapReduce е создаден од Google така што ефективно извршува повеќе
функции врз голем број на податоци. „Мапата“ е компонента која ги
дистрибуира програмските проблеми или задачи на голем број на системи
и е одговорна за распределување на задачите на начин на кој се
балансира целокупниот број на информации, и исто така се занимава со
27
„опоравување“ од грешки. Откако распределувањето е завршено, стапува
во акција друга функција наречена „редуцирање“ повторно ги собира сите
елементи заедно за да даде резултат.
Hadoop e управувачка софтверска рамка создадена од Apache врз основа
на MapReduce и Big Table. Hadoop дозволува апликациите изградени врз
основа на MapReduce да работат на големи групи на достапен хардвер.
Таа е платформа со отворен код која дозволува чување и обработување
на big data во дистрибуирана средина преку групи на компјутери кои
користат едноставни програмски модели. Дизајниран е да фунцкционира
од еден сервер до илјадници машини, секоја со свој локален систем и
меморија. Со помош на Hadoop може да се приспособи обработувањето
на податоците на паралелни системи за обработка низ компјутерските
јазли и да се забрза пресметувањето како и да се прикрие латентноста.
Постојат две важни компоненти на Hadoop: сеопфатен дистрибуиран
систем на датотеки кој може да чува петабајти2 податоци и сеопфатен
MapReduce engine кој пресметува група на резултати.
2.1.Традиционални и напредни анализи
Во зависност од проблемот за кој се бара решение, потребни се многу различни
пристапи кон анализата. Некои анализи се прават со традиционални методи,
додека другите користат напредни предиктивни анализи. Холистичкото
менаџирање на голем број податоци бара многу различни пристапи за да се
направат планови за иднината на еден бизнис.
Можноста за менаџирање и анализирање на огромни петабајти податоци.
Кратенката за оваа единица е PB или ПБ2 им овозможува на компаниите да се
справат со групи на информации кои можат да имаат влијание врз бизнисот. Ова
бара аналитичка „машина“ кој може да менаџира високо дистрибуирани
податоци и да даде резултати кои можат да бидат оптимизирани за да се реши
еден конкретен проблем. Анализите можат да станат доста сложени со big data.
2 Петабајт е единица за податоци или компјутерска меморија еднаква на еден квадрилион бајти
или 1000 терабајти или 1.000.000 гигабајти
28
На пример, некои организации користат предвидувачки модели кои ги
соединуваат структурираните и неструктурираните податоци за да предвидат
измама или пропуст. Анализите од социјалните мрежи, текстуалните анализи и
новите видови анализи се користат од страна на организациите со цел да
добијат увид од big data.
Организациите секогаш се потпирале врз способноста да создадат извештаи кои
ќе им помогнат во разбирањето на она што податоците го кажуваат, почнувајќи
од месечни продажби до преглед на порастот на профитот. Ако една компанија
може да собира, менаџира и анализира доволен број на податоци, може да
користи алатки од новата генерација кои ќе помогнат при разбирањето на
влијанието не само од собирањето на податоци, туку и како овие податоци
даваат контекст врз основа на бизнис проблемите кои се разгледуваат. Со big
data, известувањето и визуализацијата на податоците, претставуваат алатки
преку кои се гледа како податоците се поврзани и влијанието на тие врски во
иднина. [1]
2.2.Big Data Апликации
Податоците често се интегрирани и се користат како подрачје за општа
употреба. Со воведувањето на Big Data концептот, работите почнаа да се
менуваат. Сега го гледаме развојот на апликациите кои се дизајнирани
конкретно за да ги искористат предностите на посебните карактеристики на big
data. Некои од апликациите кои се појавуваат се од областите на здравството,
производниот менаџмент, сообраќајниот менаџмент итн. Што е заедничко за
овие big data апликации? Тие се потпираат врз голем волумен, брзина и
разновидност на податоци за да го трансформираат однесувањето на пазарот.
Во здравството, big data апликација може да биде способна да ги следи порано
родените деца за да се открие дали е потребна било каква интервенција. Во
производството, big data апликација може да се користи за да се спречи
исклучување на машината за време на производниот процес. Big Data
апликација за сообраќаен менаџмент може да ги намали гужвите во сообраќајот
на фрекфентни автопати, да го намали бројот на несреќи, да заштеди гориво и
да го намали загадувањето.
29
Вистинскиот проблем околу дефинирањето на Big Data започнува со слоевите
на изворите на податоци, како што изворите на податоци од различен обем, или
вид се „натпреваруваат“ меѓу себе за да бидат вклучени во крајното Big Data
множество кое ќе биде анализирано. Овие Big Data множества кои се исто така
наречени и data lakes (езера на податоци), се множество податоци кои се
означени за пребарување или се веќе пребарани за шаблони откако се зачувани
во Hadoop рамка [3]. Слика 5 прикажува различни видови на извори на податоци.
Слика 5: Различни извори на податоци [3]
Апликациите во корпорациите се изградени врз основа на вертикален
сеопфатен хардвер и софтвер. Корпорациските структури се дизајнирани за да
обезбедат силна трансакциска безбедност, но се скапи за приспособување и
одржување. Вертикалните корпорациски структури се премногу скапи за
економски да ја издржат потребата за пресметки на големиот број на податоци.
HDFS (Hadoop Distributed File System) е систем за датотеки изграден врз Java,
кој дава сеопфатно и сигурно чување на податоци и е дизајниран/создаден да
опфати големи групи на пристапни сервери. HDFS покажал сеопфатност при
производството до дури 200PB зачувани податоци и една група од 4500 сервери,
поддржувајќи скоро милијарда датотеки и блокови. Hadoop и HDFS можат да
менаџираат инфраструктурни слоеви на виртуализирана cloud средина, или на
дистрибуирана мрежа на пристапни сервери на брза мрежа.
Едноставна хардверска конфигурација на Big Data со користење на пристапни
сервери е претставен на слика 6.
30
Слика 6: Типична хардверска топологија за Big Data [3]
Прикажаната конфигурација ги вклучува следниве компоненти: N пристапни
сервери (8-core, 24 GBs RAM, 4 to 12 TBs, gig-E); 2-level network, 20 to 40 nodes
per rack.
Ова е слојот кој ги обезбедува алатките и јазиците за пребарување за да се
пристапи до NoSQL базите на податоци со користење на HDFS систем за чување
на датотеки и се наоѓа на врвот на физичкиот инфраструктурен слој на Hadoop.
31
3.Опис на техники за визуелизација кои се применливи
со осврт на елементите на самата визуелизација
Визуализацијата на податоците претставува презентирање на податоците во
графички или сликовит формат. Им помага на оние кои носат одлуки да ги видат
аналитичките податоци визуелно, за да можат да ги разберат тешките концепти
или да идентификуваат нови шеми. Со интерактивната визуализација може да
се направи чекор напред кон објаснување на концептот преку користење на
технологија, односно прикажување на табели и графици за да се прикажат
повеќе детали, интерактивно да се менуваат податоците кои се прикажани и да
се покажи како се обработуваат. Поради претходните споменати факти, треба
да се покаже зошто е значајна визуализацијата на податоците. Важна е заради
начинот на кој човековиот мозок ги обработува информациите заради тоа што е
полесно мозокот да обработи голем број на сложени податоци преку табели и
графици отколку преку извештаи и документи. Причината е многу поголемата
пропусна моќ за спознавање информации на мозокот за процесирање на слики.
Визуализацијата на податоците е брз и лесен начин да се објаснат концептите
на универзален начин – а исто така може да се експериментира преку различни
начини со правење на мали промени.
„Една слика вреди илјада зборови“ – особено кога се трудиме да ги пронајдеме
односите и да ги разбереме податоците кои можат да вклучуваат илјадници па
дури и милиони променливи. За да се создадат значајни прикази од податоците,
постојат некои основни правила и начини кои што можат да се земат во предвид.
Обемот на податоците и начинот на кој се организирани, играат важна улога при
селектирањето на графиците за да се претстават информациите.
Организациите, без разлика на полето на дејствување прибираат огромен број
податоци секоја минута, час или ден. Сите – вклучувајќи ги раководителите на
компанијата, на секторите, вработените во call centers (кол центрите) па дури и
вработените на лентите, се стремат да учат нови работи од собраните податоци
кои што ќе им помогнат да носат подобри одлуки, да преземаат логични дејствија
и да работат многу поефикасно. Ако податоците имаат милијарди редови, еден
од најдобрите начини да се воспостават важните врски е преку напредни
32
анализи и ефективни визуализации на податоците. Доколку е возможно брзо да
се изврши софистицирана анализа на податоците, дури и моментално, па
резултатите да се прикажат на начини кои ги прикажуваат шемите и
овозможуваат пребарувања и истражувања, се овозможува вработените на сите
нивоа во организацијата да прават побрзи и поефективни одлуки. За да се
создадат значајни прикази на податоците постојат некои основни правила и
начини кои што можат да се земат во предвид. Обемот на податоците и начинот
на кој се организирани играат важна улога при селектирањето и подготовката на
приказите за да се претстават информациите.
Овој магистерски труд се разгледувани некои од основните проблеми во врска
со визуализацијата на Big Data податоците и се даваат предлози за решавање
на таквите проблеми. Дополнително, големиот број податоци и нивната
динамичка природа носат и единствени предизвици за создавање на посебни
говорливи визуализации. Затоа, во овој труд се разгледуваат некои од тие
предизвици и нивните потенцијални решенија во работењето со голем број
податоци. Еден од предизвиците е начинот на кој би можеле да се прикажат
резултатите од анализата на податоците на начин кој не е премногу сложен и
можеби ќе биде потребно да се најде ново гледиште кон податоците кое ги
намалува и урива резултатите по интуитивен пат, но сепак дава прикази и
графици на кои раководителите се навикнати. Можеби, исто така, ќе биде
потребно резултатите да бидат брзо достапни на мобилните уреди и на
корисниците да им се даде можност лесно да ги истражуваат овие големи
количества податоци во реално време.
Постојат некои основни концепти кои помагаат при генерирање на најдобрите
прикази за податоците:
Разбирање на податоците кои треба да се визуeлизираат вклучувајќи ја
нивната големината и важност
Одредување што треба да се претстави и какви информации треба да се
пренесат
Познавање на аудиториумот (корисниците) и разбирање како да се
обработат визуелните информации, користење на прикази кои ги
33
прикажуваат информациите во најдобра, најговорлива и наједноставна
форма за корисниците.
3.1.Визуализација на Βig Data
Βig Data носи нови предизвици за визуализација и поради тоа што постојат
големи количества различни променливи и различни брзини кои мораат да
бидат земени во предвид. Важноста на колоните кои што се прикажуваат исто
така треба да бидат земени во предвид. Една од најчестите дефиниции за Big
Data е дека се тоа податоци кои имаат обем, разновидност и брзина кои една
организација мора технолошки да ги надмини за да постигни ефективни одлуки.
Обемот се однесува на големината на податоците,
Разновидноста се однесува на тоа дали податоците се структирирани,
делумно структурирани или неструктурирани.
Брзината се однесува на брзината со која податоците надоаѓаат и колку
често тоа се менува.
Еден предизвик при работењето со големи количества податоци е начинот на кој
ќе се прикажат резултатите од истражувањата и анализата на податоците за тие
да бидат значајни без да се премногу сложени. Можеби ќе биде потребно да се
најде нов фокус на податоците кое ги намалува и ги „урива“ резултатите по
интуитивен пат, но сепак дава прикази и графици на кои носителите на одлуки
се навикнати да гледаат, на мобилни уреди и со можност корисниците лесно да
ги истражуваат податоците во реално време.
При работење со огромен број податоци, можеби ќе биде тешко веднаш да се
одреди кои прикази се најдобри за употреба. Autocharting дава преглед на сите
податоци кои се трудиме да ги истражиме и врз основа на обемот и видот на
податоците ги дава најадекватните техники за визуализација. Еден пример на
визуелизацја на Big data податоци е прикажан на слика 7 и ги претставува 50-те
најследени Twitter сметки во Велика Британија.
34
Слика 7: Топ 50 Твитер сметки во Велика Британија и нивните следбеници [4]
Лесно е да се изгуби перспективата за Big Data ако се земат во предвид сите
дискусии кои се водат во бизнисот за нив. Инжинерите кои ги подготвуват
визуелизациите се прашуваат кој ги користи тие податоци, зошто би требало да
биде тоа важно и слично за да изберат најговорливи визуелизации. Не се работи
за тоа дека поимот Big Data кој се појавил во последната декада не предизвика
револуција во науката со податоците (иако сигурно е изненадувачки фактот дека
90 % од сите податоци во светот биле создадени во последните 2 години), туку
дека всушност Big Data постои исто толку долго колку што постои статистиката
и математичкото моделирање (пример Слика 7). Она што е сменето во нашата
колективна способност за пристапување кон концептот Big Data е тоа што иако
основните принципи за претсавување на податоците малку се промениле,
физичките барања кои постојат околу Big Data, како што се чувањето на
податоците и потребната инфраструктура за поткрепување на зачуваните
податоци, нивно пренесување и менаџмент со огромен број на податоци,
35
стануваат се повеќе и повеќе пристапни и достапни што е разликата помеѓу
времето пред појавувањето на концептот и сега.
Во минатото, пристапот кон Big Data бил ограничен само на оние кои поседувале
скапи компјутери или групи компјутери со високи перформанси и поголемиот дел
од податоците биле чувани во „сеф”. Денес, голем број на корисни анализи во
реално време можат да се извршуваат на пристапни компјутерски системи (на
пример iphone повисока верзија од 6 на компанијата apple кој има поголема
компјутерска моќ од Mars Rover на Nasa). Постојат многу отворени системи на
податоци кои се достапни за широката јавност, овозможувајќи анализите да се
прават на начин на кој не се правеле претходно. А бидејќи со големата моќ доаѓа
и голема одговорност, потребно е да се најде начин да се направи возможно да
се најде смисол во огромниот број на податоци и потоа тоа знаење да се
примени на вистински реални проблеми.
Во ΙΒΜ била изработена рамка за раководење со Big Data која ги опфаќала
следните перформанси на податоците:
Обем – иако Big Data не специфицира некоја одредена големина на
податоците, може да се каже дека не е возможно да се отворат многу
голем број податоци во Microsoft Excel.
Брзина – мора да се анализира колку брзо се примаат податоците за да
можат да се прават значајни одлуки.
Разновидност – бројот на извори на податоците ги вклучуваат и
сензорските податоци, чистите текстови, видеа, анализи од социјалните
мрежи итн.
Веродостојност – колку податоците се веродостојни, што е особено
важно заради тоа што доколку не можеме да бидеме сигурни во
податоците, нема да добиеме добри резултати без разлика на анализата.
Иако зголемувањата на можностите на компјутерите кои ги гледаме во
последните години ги омоќуваат аналитичарите (пред се во процесорската моќ
на компјутерите, мемориските перформанси и фреквентните опсези на мрежите
кои се користат), потребата за користење податоци многу ја надминува
способноста на аналитичарите да ги обработуваат (когнитивно или на друг
начин) и постои точка во која дури и науката за податоците не може да се справи
36
со овој проблем и покрј тоа што е тоа уметност во практика. Визуализацијата
веќе игра важна улога во науката за податоците помагајќи им на научниците за
податоци да најдат смисла во структурата и основните шеми кои можат да се
наоѓаат во податоците. Таа помагала дури и пред постоењето на било какви
посериозни компјутерски ситеми, за што говорат некои рачно направени
визуелизации [31].
Постојат три причини зошто визуализацијата е потенцијално една од најважните
техники за справување со големи податоци:
1. Визуализацијата е клучна за Big Data да се направи интегрален дел при
донесувањето одлуки. Иако се чини дека вистинската вредност на Big Data
е во правење на „докторски“ анализи или притискање на копче и
препуштање да се донесуваат одлуки од страна на хиерархиски групиран
алгоритам, реалноста покажува дека создавањето на вакви акциски
прегледи често вклучува присуството на податоците во точно време и на
точно место и проактивно дејствување на податоците. Во сценаријата
каде што одлуките мораат да бидат донесени веднаш, едноставно не
постои време за да се направат offline анализи а потоа одлуките да бидат
направени на друго место. Во тој случај визуализацијата е клучна бидејќи
тоа е единствениот начин да се направат пристапни големиот број
податоци. Како што оние кои одлучуваат напредуваат во нивното
донесување одлуки со вклучување на поголем број податоци, така
визуализацијата станува уште поважна како алатка за поддршка на
одлучување.
2. Визуализацијата ќе биде единствениот начин за Big Data да стане
пристапна за широк аудиториум. Податоците добиваат вистинска
вредност дури кога се користат за да влијаат и покренат голема група луѓе
кон дејствување. Раскажувањето преку податоците е нов вид на
„уметност“ која покажува дека податоците не се само променливи на скала
или не се само анализа на повеќе променливи, туку дека раскажувањето
значи и трансформирање на нешто што е наследено, неинтуитивно, во
наратив кои другите можат да го разберат. Без визуализацијата,
податоците се само пресметки на фактите, а со неа податоците имаат
37
способност да го трансформираат начинот на кој луѓето го гледаат светот
околу нив со визуелен начин на анализа.
3. Визуализацијата ќе биде незаменлива во анализата на Big Data за да се
извлече највисоката вредност од податоците. Дури и во традиционалната
наука за податоците, визуелните помагала се важни и се првите нешта по
кои научникот за податоци посегнува за да се обиде да разбере со што се
справува. Со неа треба да се одговори на прашањето како изгледаат
податоците и што тие кажуваат. Тоа најверојатно нема да се промени кога
бројот на податоци ќе стане поголем а податоците ќе станат посложени.
Секогаш визуализацијата ќе треба да ја заземи улогата на важен
помошник на науката за податоците и Big Data анализите како што тие
продолжуваат да еволуираат со нови аналитички методи и статистички
техники. Визуализацијата им помага на научниците за податоци да ги
разберат техниките што е најдобро да се користат за да се откријат
скриени проникнувања или шеми кои ќе помогнат во разбирањето на
резултатите од применувањето на тие техники и на тој начин да помогнат
во насочувањето на аналитичкиот процес кон посакуваните резултати. [4]
Big Data концептот подразбира и голем обем на податоци, голема брзина на
трансфер и/или голема разновидност на податоците кои бараат нови форми на
обработка за да се овозможи подобрување на процесот на оптимизација,
добивање увид во податоците и донесување одлуки. Предизвиците за Big Data
лежат во прибирањето, чувањето, анализата, споделувањето, пребарувањето и
визуализацијата на податоците. Визуализацијата може да се смета како
видливиот дел (front end) од Big data. Постојат повеќе митови за визуализацијата
на овие податоци:
Сите податоци мора визуелно да се претстават: не треба целосно да се
потпираме на визуализацијата; некои податоци не треба да се
визуализираат за да се открие нивната порака.
Само добрите податоци треба да се визуализираат: едноставни и брзи
прикази можат да истакнат нешто доколку не е во ред со податоците и на
истиот начин на кој помагаат да се откријат некои интересни трендови.
Визуализацијата секогаш ќе ги манифестира правилните одлуки или
дејства: Визуализацијата не може да го замени критичкото мислење.
38
Визуализацијата ќе доведе до сигурност: не значи дека визуализацијата
на податоциите ја покажува точната слика за она што е важно.
Визуализацијата може да се манипулира со различни ефекти.
Пристапот до податоците при визуализацијата се користи за да се создадат
табели, дијаграми, слики и други видови на прикази и да се прикажат податоците.
Визуализацијата на Big Data не е толку лесна како што тоа може да се направи
со традиционалните множества податоци. Проширувањето на традиционалните
пристапи за креирање визуализации веќе се придвижуваат во тој правец, но се
далеку од доволни за да се постигнат ефекти што им се потребни на
аналитичатите. При визуализација на големи податоци, многу истражувачи
користат извлекување на главните карактеристики или геометриско моделирање
за драстично да ја намалат големината на податоците пред прикажувањето/
рендерирањето на податоците. Изборот на точните репрезентативни податоци
е исто така многу важно при визуализацијата на Big data.
3.2.Конвенционални методи за визуализација на податоци
Се уште се користат многу конвенционални методи за визуализација на голем
обем на податоци, како на пример: табели, хистограми, прикази во некој
координатен систем, пити, комбинација на дијаграми, Венов дијаграм, дијаграми
за протокот на податоци, дијаграми за врските помеѓу ентитетите итн.
Дополнително, се користат уште некои методи за визуализација на податоците
иако се помалку познати за разлика од претходно споменатите. Тие
дополнителни методи се методите за мултидимензионална и мултиваријантна
анализа како паралелни координати, хиерархиски техника, семантички мрежи
итн.
Паралелни координати се користат за да се организираат индивидуалните
елементи на податоците според повеќе димензии. Паралелни координати е
техника корисна за прикажување на мултидимензионални податоци во една
рамнина. Слика 8 прикажува пример за приказ со паралелни координати.
39
TreeMap е ефективен метод за визуализација на хиерархии. Големината на секој
полуправоаголник претставува една мерка додека бојата често се користи за да
се истакне друга мерка на податоците. Слика 9 покажува визуелизација на
податоци со помош на TreeMap техника, со поголем број на извори за стриминг
на музика или видеа на социјалните мрежи. Countree е друга метода преку која
се прикажуваат хиерархиските податоци, како на пример организациската
структура во три димензии. Семантичката мрежа е графички приказ на логичката
врска помеѓу различни концепти. Прикажува директен графички приказ,
комбинација на јазли или вертикални линии, рабови или крива и назнаки на секој
раб.
Слика 8: Визуелизација со техника паралелни координати
Слика 9: Treemap поглед на изборот на песните од социјалните мрежи и стримингот на
медиумските услуги [5]
40
Визуализацијата не мора да е само статична туку може да биде и динамичка и
интерактивна. Интерактивната визуализација може да се изведе преку пристапи
како зумирање, поврзување и четкање, фокусирање на контекстот или техника
на рибино око (fish eye). Чекорите за интерактивна визуализација се следниве:
1. Селекција – интерактивната селекција на податоците во целост или дел
според интересот на корисниците.
2. Поврзување и четкање – за поврзување на информациите според
различни прикажувања што може да биде доста корисно. Пример за
користење на оваа техника е прикажан на Слика 10.
3. Филтрирање – им помага на корисниците да се приспособат кон
количеството информации кое се прикажува. Го намалува квантитетот на
податоци или информации и се фокусира на важните информации.
4. Прередување – бидејќи просторниот распоред е многу важен дел од
визуелното мапирање, прередувањето на просторниот распоред на
информациите е доста ефективно за откривање на други увиди.
Слика 10: Интерактивно поврзување помеѓу хистограми (горе) и географска карта
(долу) на бази на податоци [5]
41
Новите технологии за управување со базите на податоци и пристапот кон
напредните online визуализации можат да бидат клучни за намалување на
цената на приказите што ќе дозволи да се подобри научниот процес на
подготовка на податоците за визуелизација. Заради технологиите на
поврзување на онлајн базите, приказите се менуваат како што се менуваат
податоците, што драстично го намалува трудот за одржување на приказите
согласно со промените. Овие „нискобуџетни” прикази често се користат во
бизнис анализите и во отворените системи на податоци на владите, но тие
генерално не се користат во научни процеси. Многу алатки за визуализација кои
што се достапни за научниците не дозволуваат поврзување во реално време
како што е случајот со алатките за визуелизација на онлајн базите.
3.3.Напредокот во визуализацијата на Big Data
Визуализацијата игра важна улога во користењето на Big Data за добивање
целосен поглед на податоците за потрошувачите. Врските се важен аспект во
многу Big Data сценарија. Социјалните мрежи се најверојатно најдобриот пример
за ова и е многу тешко да се разберат во форма на текст или табела. Овде
визуелизацијата може да ги утврди шаблоните на новите мрежни трендови.
Cloud базираните методи за визуализација биле предложени за да се прикажат
наследените врски на корисниците на социјалните мрежи. Методот може
интуитивно да ги претстави социјалните врски на корисниците според
заедничката матрица за да прикаже хиерархиска врска на јазлите на социјалните
мрежи. Дополнително, методот користи Hadoop based on cloud за дистрибуирано
паралелно обработување на визуализацијата што помага да се истражи Big Data
на социјалните мрежи.
Big Data визуализацијата може да се прави преку голем број пристапи како на
пример: повеќе од еден преглед на прикажаната слика, динамични промени на
голем број на фактори и филтрирање (филтри за динамични пребарувања, star
– field filter and tight coupling filter) итн. Неколку методи на визуализација биле
анализирани и класифицирани според следните критериуми:
42
1. Големината или обемот на податоците
2. Разновидноста на податоците
3. Динамичноста на податоците
Предложени биле повеќе техники за да се справат со големи податоци:
Treemap се базира на визуализација со пополнување на просторот на
хиерархиските податоци.(Слика 11)
Слика 11: Пример за Treemap визуелизацијa
Circle Packing е директна алтернатива на treemap. Покрај тоа што го
користи кругот како примарна форма, исто така круговите можат да се
користат за да се прикажи повисок степен на хиерархија. (Слика 12)
43
Слика 12: Пример за Circle Packing визуелизација
Sunburst ја користи treemap визуализацијата и е конвертирана во систем
на поларни координати. Главната разлика е тоа што параметрите на
променливите не се ширина и висина туку должина на радиус и крива.
(Слика 13) [5]
44
Слика 13: Пример за Sunburst визуелизација
Paralell coordinates – дозволува визуелната анализа да се прошири со
повеќе фактори на податоците за различни објекти во една рамнина преку
поставување на параметрите на паралени координати. (Слика 14)
Слика 14: Пример за Parallel Coordinates визуелизација
Streamgraph – вид на stacked area graph којшто се поместува околу
централна оска што резултира со проток на органски форми (flowing an
organic shape). (Слика 15)
45
Слика 15: Пример за Streamgraph визуелизација
Circular network diagram – податочните објекти се поставени во круг и
поврзани преку криви според степенот на нивното поврзување. Разичната
дебелина или интензитетот на бојата често се користат за да се мери
поврзаноста помеѓу објектите. (Слика 16) [5]
Слика 16: Пример за Circular Network Diagram визуелизација
46
Табелата 1 и 2 ги покажуваат можностите на предложените методи според тоа
колку се погодни за трите карактеристики на големи податоци. Табелата 1
истакнува кој метод може да обработува голем број на податоци, разновидни
податоци и промени на податоците со тек на време. Според табелата 2,
методите можат да се класифицираат според Βιg Data класите на податоци за
анализа.
Табела 1: Карактеристики кои методите за визуелизација ги поседуваат во однос на
податоците за предложените методи за визуелизација [5]
Име на методот голем обем на
податоци
разновидност
на податоците
динамичност
на податоците
Treemap + - -
Circle packing + - -
Sunburst + - +
Parallel coordinates + + +
Streamgraph + - +
Circular network
diagram
+ + -
Табела 2: Класификација на методите за визуелизација според поддржаните класи за
Big data [5]
Име на методот Big Data класа
Treemap Може да се примени само за хиерархиски податоци
Circle packing Може да се примени само за хиерархиски податоци
Sunburst Обем + брзина
Parallel coordinates Обем + брзина + разновидност
Streamgraph Обем + брзина
Circular network diagram Обем + разновидност
47
3.4.Алатки за визуализација
Традиционалните алатки за визуализација на податоците често се неадекватни
за да обработат голем број на податоци. Претходно беа претставени методите
предложени за интерактивна визуализација на големи количества податоци.
Потоа беа опишани просторниот дизајн на мерливите визуелни прегледи кои ги
користат пристапите за намалување на обемот на податоците (како на пример
binned aggregation or sampling) за да се прикажи разновидност на податоците.
Методите кои беа користени за интерактивно пребарување, на пример
поврзување и четкање (Linking & brushing) помеѓу цврсто поврзани врски, беа
прикажани преку комбинација на обработување на разновидни податоци и
паралелни пребарувања.
Голем број од алатките за визуализација на Big Data работат врз платформата
Hadoop. Најкористените алатки кои се надоградени и некои верзии во Hadoop
се: Hadoop common, Hadoop distributed file system (HDFS), Hadoop Yarn и Hadoop
Map reduce. [5]. Ја анализираат ефективноста на Βig Data, но немаат адекватна
визуализација. Развиени се повеќе софтверски алатки со функции за
визуализација и интеркација со прикажаните податоци, од кои ќе ги спомниме:
Pentaho – подржува голем број од функциите на деловна интелигенција
(ΒΙ) како што се анализи, контролни табли (dashboard), извештаи за
компанијата и извлекување на суштината на податоците.
Flare – ActionScrypt Library за креирање на визуализации на податоците
кои работат во Αdobe Flash player
JasperReports – има слој на нов софтвер за генерирање на извештаи од
Βig Data складишта.
Dygraphs – брз отворен Java Scrypt збир на табели кои помагаат при
откривање и разбирање на непровидни информации.
Datameer Analytics Solution and Cloudera – Datameer and Cloudera
станале партнери за полесно и побрзо да го произведат Hadoop.
Platfora – ги конвертираат необработените податоци во Ηadoop во систем
за интерактивна обработка на податоците. Има модуларна
функционалност на in-memory систем на податоци.
48
Μanyeyes – алатка за визуализација креирана од ΙBM. Manyeyes е јавна
веб страна каде што корисниците можат да прикачуваат податоци и да
креираат интерактивни прикази.
Tableau – BI софтверска алатка која подржува интерактивна и визуелна
анализа на податоците. Има ιn–memory систем за да се забрза
визуализацијата. Tableau има три главни производи за обработка на голем
број на податоци вклучувајќи ги tableau desktop, tableau server and tableau
public. Tableau може да ја користи инфраструктурата на Ηadoop. Го
користи Hive3 за да ги структурира пребарувањата и за да ги зачува
информациите за in –memory анализа. Зачувувањето помага да се намали
латентноста на Hadoop групите. Заради тоа може да обезбеди
интерактивен механизам помеѓу корисниците и употребата на Big Data. [5]
Алатките за обработување на Big Data може да обработуваат огромни
количества податоци, zettabites и petabites но најчесто не можат да направат
визуелен приказ за толку многу податоци. Во моментов, алатките за обработка
на Big Data вклучуваат Hadoop, High Performance Computing and
Communications, Storm, Apache Drill, RapidMiner, and Pentaho BI. Алатките за
визуализација на податоците вклучуваат NodeBox, R, Weka, Gephi, Google
Chart API, Flot, D3, and Visual.ly итн. Алгоритмот за визуализација на Big Data
анализи интегрира модел врз база на ErHadoop. Интегрираниот модел може да
обработува податоци со големина од неколку зетабајти и петабајти и да
прикажат резултати од големо значење со помош на визуализацијата. Овој
модел е соодветен со дизајнот на паралелните алгоритми за податоци од
неколку зета или петабајти.
Анализата на интерактивните визуелни групи е најинтуитивниот начин за
откривање на групи на шаблони. Најкомплексен чекор е визуализацијата на
мултидимензионални податоци и овозможување на корисниците интерактивно
да ги истражуваат податоците и да ги идентификуваат структурните групи. Веќе
3 HIVE има три главни функции: сумирање на податоци, пребарување и анализа. Поддржува
пребарувања изразени во јазик наречен HiveQL, кој автоматски се преведува како SQL, во
MapReduce jobs кои извршува Hadoop. Покрај тоа, HiveQL поддржува сопствени MapReduce
скрипти, со цел да бидат вклучени во пребарувањата.
49
се развиени модели за визуализација за ефективно истражување на
интерактивните групи на big data наречени оптимизирани звездести
координати (star-coordinate). Star-coordinate моделите се веројатно
најекспанзивните техники за визуализација на голем број податоци во споредба
со другите методи на мултидимензионална визуализација, како на пример
паралелни координати и матрици на точкасти цртежи (scatter-plot matrix).
Паралелните координати и scatter-plot matrix често се користат за помалку
од десет димензии, додека star-coordinates можат да се користат за
десетици димензии.
Star-coordinate визуализацијата може да достигне многу точки со помош
на претставување врз основа на густина.
Визуализацијата на групите врз основа на star-coordinate не се труди да го
пресмета растојанието на податоците во парови, ги користи својствата на
mapping моделот за парцијално да ја одржи далечната врска. Ова е многу
корисно при обработка на big data.
Директната визуализација на изворите на big data е често невозможна или
неефективна. Анализата е од клучно значење во намалувањето на големината
и комплексноста на big data. Визуелизацијата и анализата можат да бидат
интегрирани за подобро да функционираат. IBM веќе имплементирала можности
за визуализација во решенијата за бизнис анализи. Ова се должи на тоа што IBM
поседува приспособлив систем за визуализација (rapidly adaptive visualization
engine - RAVE). RAVE и способностите за визуализација со можност за
проширување, помагаат при користењето на ефективна визуализација која
придонесува за подобро разбирање на big data. Прозводите на IBM како што се
IBM® InfoSphere® BigInsights™ и IBM SPSS® Analytic Catalyst, користат
библиотеки за визуализација и RAVE за да се овозможи интерактивна
визуализација која може да помогне во добивање на голем увид во Big data.
Користењето на платформи за веродостојна виртуелна реалност за
визуелизација на научни податоци е во процес на истражување и вклучува
софтвер и ефтин кориснички хардвер. Овие потенцијално моќни и иновативни
алатки за визуализација на мултидимензионални податоци можат да
обезбедат лесен пристап до визуелизација на сумираните податоци.
50
Веродостојноста обезбедува предности, поголеми од оние кои ги нудат
алатките за традиционална desktop визуелизација: може да резултира со
подобра перцепција на геометријата на податоците и нивно поинтуитивно
разбирање. Веродостојната визуелизација треба да стане еден од темелите на
истражување на повисоката димензионалност и апстрактност, кои го следат Big
Data концептот. Вродената човекова способност за препознавање на шаблони
и визуелно откривање треба да биде зголемена до максимум со користење на
новите технологии поврзани со веродостојна виртуелна реалност.
SWOT (Strengths Weaknesses Opportunities Threats) анализата на предности,
слабости, можности и закани е добро познат метод за идентификување на
позитивните и негативните фактори. SWOT анализата на горенаведените
софтверски алатки за визуализација на Big Data е направена и прикажана во
Табела 3. Во неа предностите и можностите се позитивни фактори, додека
слабостите и заканите се негативни.
Табела 3: SWOT анализа за визуелизација на горенаведените софтверски алатки [5]
Предности
Функциите за визуализација и интеракциите за визуализација на податоците
Способни се за визуализација на различни видови на податоци
Можности
Веродостојната визуализација со виртуелна реалност резултира со подобра перцеција на геометријата на податоците и нивно поинтуитивно разбирње
Вродената човекова способност за препознавање на шеми и визуелно откривање може максимално да се зголеми
Слабости
Има простор за подобрување на визуализацијата на big data со голема брзина или комбинација на трите променливи (обем, брзина и разновидност)
Закани
Недостаток на соодветна визуализација кај голем број big data апликации
51
4. Анализа на концепти и модели кои се користат за
визуелизација на BDD
Анализата на Big Data се разликува во однос на анализите кои се прават за
Business Intelligence (BI4) и претставува прашање на кое треба да се посвети
посебно внимание. Анализата на податоци не секогаш треба да биде
спроведувана како што се спроведуваат анализите на останатите податоци кои
се од ист вид (Tабела 4).
Табела 4: BI наспроти Big Data
BI ( Business Intelligence) известувања Анализа на Big Data
Алатки за известување како Cognos Алатки за визуализација како Qlikview
или Tableau
Примерок на податоци Голем обем на податоци
Податоци од организацијата Податоци од надворешни извори како
социјалните медиуми, со исклучок на
податоците од организацијата
(претпријатието)
Врз основа на статистички податоци Врз основа на статистички податоци и
анализи на социјални мрежи или
други извори на податоци
Складиште на податоци ОLTP, реално - време како и offline
податоци
Начинот за известување со графикони потребно е да се смени, како и да се
изработат извештаи за обемот на податоци кои се на располагање на
организацијата. Сето ова мора да се направи во рамките на определен
временски период и да се дефинираат следните теми:
- Чување на големо количество податоци (Big data)
4 BI (Business Intelligence) е комбинација од широк сет на апликации на анализите на податоци,
вклучувајќи ги и ad hoc анализите и барањето на информации, известувањата на организацијата,
онлајн аналитичко процесирање (OLAP), mobile Business Intelligence, real-time BI, operational BI,
cloud и софтвер како service BI, open source BI и collaborative BI
52
- Специфична бизнис визуелизација
- Побрзо процесирање на голем обем на податоци
- Олеснување на употребата на алатки, за научниците со податоци и бизнис
аналитичарите
Како што е прикажано на слика 17, со ова известување треба да следи
секвенцијален процес на пренесување на OLTP (Online Transactional Processes)
на податоците во складиште на податоци, изработка на статистички и
аналитички алгоритми на податоците и извештаи за моделите како bar
графикони, pie графикони и други.
Слика 17: Тек на традиционална визуелизација
4.1.Анализа на модели на Big Data
Во овој дел треба да се анализира кои се новите модели на анализа на Big Data
и моделите на визуелизација кои овозможуваат подобар увид на обемот на
податоци. Анализата и техниките на визуелизација треба да се модифицирани
за да се обезбеди "helicopter" поглед на големиот обем на податоци. Моделите
кои треба да се применат за големи податоци нема да бидат видливи доколку
податоците се разгледувани во ситни детали. Алатките за визуелизација и
графиката треба повеќе да го следат тој „планетарен" поглед, каде научниците
со податоци се како „астрономи" кои се обидуваат да пронајдат нова ѕвезда или
црна дупка на сред голема и далечна галаксија. Некои од моделите за анализа
кои се спомнати во овај дел од магистерскиот труд можат да се користат во
53
комбинација со пристап до моделите на податоци. На слика 18 се прикажани
следните анализи на модели кои ќе бидат опфатени во ова поглавје: [3]
Преглед на Mashup моделот (Mashup View Pattern): – Овој модел се
користи за да се зголемат перформансите на (query5) прашалниците преку
чување на вкупниот Mashup поглед во HIVE обвивката што функционира
како складиште на податоци. MapReduce jobs се одвива во серии за
ажурирање на offline складиштето за податоци.
Модел на компресија (Compression Pattern): компримира,
трансформира и форматира податоци во форма што е побрзо достапна.
Модел на зона (Zoning Pattern): податоците можат да бидат поделени и
индексирани врз основа на различни атрибути во различни зони за побрз
пристап.
Модел на прв поглед (First Glimpse Pattern): Визуелизацијата е
минималистичка и обезбедува прв поглед на повеќе релевантни
сознанија. Корисникот може да извлече повеќе информации, доколку е
потребно, кои во меѓувреме можат да бидат повлечени.
Модел на детонатор (Exploder Pattern): продолжување на моделот на
прв поглед (First Glimpse Pattern) кој овозможува да се визуелираат
податоци од различни извори во различни визуелни перспективи.
Модел на портал (Portal Pattern): организација која има постоечки
портал може да го следи овој модел за повторна употреба на порталот за
визуелизација на големи податоци.
Модел на олеснувачка услуга (Service Facilitator Pattern): “pay-as-you
go“ пристап до проектите на big data анализите преку користење услуги.
5 Прашалник (query) е пребарување на базата на податоци со користење на "select" условот.
Пребарувањето се користи за да се извлечат податоците од базата на податоци во читлив
формат во согласност со барањето на корисникот. Пребарувањето е барање на податоците или
информациите од базата на податоци или комбинирани табели. Овие податоци можат да бидат
генерирани и да враќаат вредност како резултат на Structured QueryLanguage (SQL) или
сликовити, графички или сложени резултати, на пример, тренд анализа на алатките за податоци
од различни перспективи.
54
Слика 18: Анализи на big data и модели на визуелизации [3]
Во овааситуација е потребно да се одговори на прашањето: Како да се надминат
ограничувањата на постојните алатки за известување?
Комерцијалните алатки кои се појавија на пазарот ветуваат повисока
продуктивност за голем обем на податоци и обезбедуваат специфична бизнис
визуелизација. Овде ќе спомнеме некои од комерцијално познатите алатки кои
се користат за визуелизација на големи податоци:
• QlikView
• TIBCO Spotfire
• SAS RA
• Tableau
• Zeppelin
Овие алатки можат и да се комбинираат и да се направи добра комбинација за
да се обезбеди значајна визуелизација на големи податоци.
55
Преглед на Mashup моделот (Mashup View Pattern):
Со користење на MapReduce, потребен е подолг период да се анализираат
податоците. HIVE преку Hadoop е добар во складирање и стартување на
MapReduce, но не е во можност да направи добра обработка кога се извршуваат
сложени пребарувања (queries), како што се функциите JOIN и AGGREGATE.
Поголемиот број на визуелизации и аналитички алатки може да се користат со
Hadoop преку HIVE квeрија. Во традиционалните методи, се создаваат збирни
mashup погледи во рамките на Hadoop или во апстрактна меморија слична како
RDBMS6 /NoSQL/Cache, како што е прикажано на слика 19. Mashup View моделот
го намалува времето за анализа со собирање на резултати од MapReduce
пребарувањата (queries) во HIVE складиштето на податоци.
Слика 19: Преглед на Mashup моделот со апстрактни податоци од Hadoop
6 RDBMS (Relational Database Management System) база на податоци е релациона база на
податоци. Таа е стандарден јазик за управување со системот на база на податоци. Податоците
се чуваат во форма на редови и колони во RDBMS. Табелите, исто така, се чуваат во форма на
SQL табела (Structured Query Language) која претставува програмски јазик и се користи за
извршување на задачи како што се податоците за ажурирање на базата на податоци или за
вчитување на податоци од базата на податоци. Некои од вообичаените релациони системи за
управување со база на податоци кои користат SQL се: Oracle, Sybase, Microsoft SQL Server,
Access, итн.
56
Како што е прикажано на Слика 20, mashup може да се постигне во рамките на
Hadoop, наместо во рамките на HIVE, за да се скратат скапите финансиски
давачки за складирање на фајловите.
Структурираните податоци се анализираат со помош на структуриран пристап
на методи како SQL. Системите на Big Digital Data oбезбедуваат алатки и
структури за анализа на неструктурирани податоци. Новите извори на податоци
кои придонесуваат за зголемување на неструктурирани податоци се сензори,
веб логови, човечки – генерирани податоци на интеракција, твитови, Facebook
разговори, мобилни текстуални пораки, e-mail, и така натаму.
RDBMS системите понатаму се јавуваат со однапред дефинирана шема и
структура на табелата. Неструктурираните податоци се податоци складирани во
различни структури и формати, за разлика од релационите бази на податоци
каде податоците се чуваат во колони и редови, како структура. Присуството на
оваа хибридна мешавина на податоци ја прави комплексна анализата на
големите податоци. Одлуките кои треба да се направат во врска со тоа се дали
сите овие податоци треба да бидат најпрво споени, а потоа анализирани или
дали само вкупниот поглед на податоци од различни извори треба да бидат
споредени.
За потребите на овој магистерски труд е изработен проект во кој се содржани
различни методи за донесување на овие одлуки врз основа на различни
функционални и нефункционални приоритети. Анализирањето на
неструктурираните податоци подразбира идентификување на модели како текст,
видео, слики и други содржини. Оваа анализа е сосем различна од
конвенционалното пребарување, што доведува до релевантен документ врз
основа на низата која се пребарува. Со помош на текст аналитиката се врши
пребарување на повторливи модели во рамките на документи, е-mail пошта,
разговори и други податоци за да се подготват заклучоци и сознанија.
Неструктурираните податоци се анализирани со помош на методи кои користат
oбработка на природни јазици (Natural Language Processing NLP), data mining,
master data management (MDM), и статистика.
57
Текст аналитиката користи NoSQL база на податоци за стандардизирање на
структурата на податоците, така што ќе може да се анализира со користење на
јазици за пребарување (query languages) како PIG, Hive, и други. Процесот на
анализа и извлекување ги користат предностите на техниките кои потекнуваат
од лингвистиката, статистика, и нумеричките анализи.
Слика 20: Преглед на Mashup моделот со апстрактни податоци во Hadoop [3]
Оваа стратегија е одобрена од страна на многу продавачи и е обезбедена од
страна на следните производи на пазарот:
• IBM Netezza
• Cassandra
• HP Vertica
• Cloudera Impala
• EMC HAWQ
• Hortonworks Stinger
58
Овие продукти обезбедуваат перформанси и бенефиции затоа што тие имаат
пристап до меморијата со податоци преку збирните погледи складирани во HIVE
или во рамките на Hadoop.
Compression Pattern (модел на компресија)
Во овој дел е потребно да се одговори на прашањето дали има побрз начин за
пристап до податоци без собирање или комбинирање на елементи.
Алатките за анализа како R поддржуваат различни формати за компресија на
пример, .xdf (eXtended Data Format) како што е прикажано на слика 21.
Податоците кои се повлечени од зачуваните податоци, може да се конвертираат
само во формат кој е разбирлив за R.
Оваа трансформација не само што обезбедува бенефиции на перформанси,
туку гарантира дека податоците се валидни и можат да се проверат за нивната
точност и конзистентност.
Слика 21: Модел на компресија [3]
59
Модел на зона (Zoning Pattern)
Како што е прикажано на слика 22, податоците можат да бидат поделени на зони
(Hadoop, abstracted storage, cache, visualization cluster) со цел да се обезбеди
сигурност дека само потребните податоци се скенирани. Податоците може да се
поделат или партиционираат на повеќе атрибути.
Слика 22: Модел на зона
Модел на прв поглед (First Glimpse Pattern)
Со оглед на тоа што обемот на податоци е премногу голем, ако се земе само
количеството на податоци кое е од апсолутно суштинско значење, го
обезбедуваат само првиот увид (“first glimpse”) The First Glimpse (FG) моделот е
прикажан на слика 23. Тој го препорачува она што популарно е наречено
„мрзливо вчитување“ (“lazy-loading)”. Крајниот корисник одлучува колку длабоко
60
сака да навлезе во детали. Податоците треба да се земат само ако корисникот
се снаоѓа во следните слоеви на детали.
Слика 23: Модел на прв поглед
Модел на детонатор (Exploder Pattern)
Следно прашање е дали треба да се видат сите резултати секогаш во еден
приказ и резултатите да бидат ограничени на слични визуелни модели за
вкупните податоци.
Овај модел е продолжување на First Glimpse моделот. Како што е прикажано на
Слика 24, разликата е во тоа што податоците можат да се заменат од различни
извори или можат да се распрскуваат во една поинаква индексирана група на
61
податоци. Исто така, само со едно кликнување можат да се направат различни
типови на дијаграми (графикони) или модели на визуелизација.
Слика 24: Модел на детонатор
Овој модел му овозможува на корисникот да погледне во различните групи на
податоци, да ги поврзе и да погледне од различни визуелни перспективи.
Модел на портал (Portal Pattern)
Кога се работи за визуелизација на големи податоци, се прашуваме дали е
потребна нова алатка за визуелизација.
Ако една организација користи веб базирано решение за репортинг и сака да
продолжи без воведување на нови алатки, истиот постоечки портал може да
биде збогатен со цел да има нова рамка како "scripting framework D3.js" за
подобрување на визуелизацијата. Како што е прикажано на Слика 25 ова
гарантира дека организацијата не треба да троши парични средства на нови
алатки за виуелизација.
62
Слика 25: Модел на портал
Модел на олеснувачка услуга (Service Facilitator Pattern)
Дали анализата на Big Data може да е достапна врз основа на “pay-as-you-go“
услугата е следното прашање кое не води до моделот на сервис за олеснување.
Анализата на можностите на Big Data се достапни во “as-a-Service mode” со
користење на cloud сервиси на пример:
• Analytics as a Service – аналитиката како услуга
• Big Data Platform as a Service – Big Data платформа како услуга
• Data Set Providers – Провајдери на збир на податоци
Организациите може да гледаат на овие услуги како алтернатива за да се
избегне купување на нова инфраструктура или нови вештини, кои може да се
ограничувања во користењето на концептот на големи податоци. Табелата 5
покажува листа на “as-a-service” достапни услуги.
63
Табела 5: Провајдери за различни “as-a-service“ услуги [3]
Сервиси Сервис провајдери
Cloud Provider Amazon Web Services, Infochimps, Rackspace
Platform Provider Amazon Web Services, IBM
Data Set Provider UNICEF, WHO, World Bank, Amazon Web Services
Social Media Data Provider Infochimps, Radian
Овие сервиси може да се пребаруваат во каталог на сервиси, кои потоа се
користат врз основа на “pay-as-you-go“. Како што е прикажано на сликата 26,
провајдерите обезбедуваат големи бази на податоци, со кои ќе можат да ги
надополнуваат постојаните околности на организацијата. Податоците можат да
бидат на една организација, невладина организација, или образовен институт,
кои може да се искористат за дополнување на аналитички податоци така што
доаѓаат од имплементацијата на Google Analytics или Omniture.
64
Слика 26: Модел на олеснувачка услуга [3]
Алатките за известување (reporting tools) се заменети со аналитички алатки и
алатки за визуелизација, кои можат да читаат податоци од Hadoop, да
анализираат податоци во меморијата и да се прикажуваат во формат кој е
разбирлив за организациите и се повеќе визуелно атрактивни во споредба со
традизионалните pie и bar визуелните графикони. Слојот на Business intelligence
е опремен со напредни алатки за анализа на Big data податоците, во базата на
податоци и напредни алатки за визуелизација, во прилог на традиционалните
компоненти како што се извештаи (reports), контролни табли (dashboards) и
пребарувања (queries).
Според оваа структура, корисниците во организациите можат да ја видат
трансакцијата на податоци и Big Data во еден консолидарен приказ.
Аналитичарите и научниците на податоци имаат опција да не ги користат само
Excel табелите и алатките за известување (reporting tools), туку да користат
аналитички алатки и алатки за визуелизација, така што ќе креираат визуелно
привлечни графикони (визуелизации), кои се наменети за голем обем на
податоци.
65
4.2.Ресурси, референции, и алатки
На пазарот постои мноштво Big Data производи од многу производители. Некои
од овие производи покриваат дел од областите, како што се социјалнo
аналитички медиуми и NoSQL бази на податоци, додека некои имаат Hadoop
окружување во комбинација со инфраструктура, алатки за визуелизација и
аналитички можности. На табелата 6 е прикажан широк преглед на голем број
на софтвери со кои може да се имплементира архитектурата на моделите кои се
опишани во овај магистерски труд. Исто така прикажани се листи со алатки кои
можат да се користат како решение за визуелизации, online складирање на
податоци, анализи, NoSQL бази на податоци итн., како и произведувачите на
овие софтвери кои ги обезбедуваат овие алатки.
Табела 6: Дистрибуирани и групирани канали на Таксономија за Big data. [3]
Алатки Производители
Hadoop Дистрибуции Cloudera
Hortonworks
MapR
IBM BigInsights
Pivotal HD
Microsoft Windows Azure cloud platform,
HDInsight
Hadoop Внатрешна меморија Intel
Hadoop Алтернативи HPCC Systems from LexisNexis
Hadoop SQL интерфејси Apache Hive
Cloudera Impala
EMC HAWQ
Hortonworks Stinger
Алатки за ингестија Flume
Storm
S4
Sqoop
66
Map Reduce Алтернативи Spark
Nokia Disco
Cloud опции AWS EMR
Microsoft Azure
Google BigQuery
NoSQL бази на податоци
IBM Netezza
HP Vertica
Aster Teradata
Google BigTable
EMC Greenplum
Внатрешна меморија на база на
податоци
SAP HANA
Системи за управување Oracle Exalytics
Визуелизација Tableau
QlikView
Tibco Spotfire
MicroStrategy
SAS VA
Пребарување Solr
Анализи SAS
Revolution Analytics
Pega
Алатки за интеграција Talend
Informatica
Алатки за оперативна интелигенција Splunk
Графиконски бази на податоци Neo4J
OpenLink
Складиште на документи на база на
податоци
MongoDB
Системи за управување Cloudant
MarkLogic
Couchbase
Бази на податоци InfoChimps
67
Интегрирање на социјалните медиуми Clarabridge
radian6
SAS
Informatica PowerExchange
Архива на инфраструктурата EMC Ipsilon
Пронаоѓање на податоци IBM Vivisimo
Oracle Endeca
MarkLogic
Table-Style база на податоци Cassandra
Системи за управување HP Vertica
DataStax
Teradata
4.3.Импликации за квалитетот на податоците на Big Data
Во последните неколку години количеството на големи податоци (Big Data) е
многу зголемено. Но, многу малку e дискутирано за насоките и препораките, во
врска со квалитетот на податоците и Big Data. Принципите за квалитет и
управувањето со податоците за Big Data се движат во ист правец како што биле
користени во минатото за големи волумени на податоци. Развиена е наука за
податоците (Data Science). Но, приоритетите можат да се менуваат и одредени
процеси како што се процесите за управување со податоци и квалитетот на
податоците, метаподатоци, интегрирањето на податоци, податоците за
стандардизација и квалитет на податоците, мора да добијат поголем акцент.
Исклучок прави “time-tested” практиката за дефинирање на проблемот. Во светот
на Big Data, каде што податоците можат да бидат користени на начини што не
се првобитно планирани, елементите на податоците треба да се дефинираат,
организираат и да бидат создадени на начин што ги зголемува можностите за
употреба и не го попречуваат натамошното користење на податоците, што не
мора секогаш да биде случај.
68
Квалитетот на податоците за Big Data треба да биде дизајниран според неколку
фактори: не е добро да се употребува еден метод за квалитетот на податоците
за сите типови на податоци. Потребно е да се разгледа од каде потекнуваат
податоците, на кој начин ќе бидат искористени, кои типови ќе бидат користени,
и најважното, какви одлуки ќе треба да се донесат во врска со податоците.
Традиционалните начини за постигнување на квалитетот на податоците, во
голема мера се вртат околу концептот на „исчистени" податоци. Со години
наназад, напорите за подобрување на квалитетот на податоците се фокусирани
на пронаоѓање и поправање на лошите податоци. Зборот „исчистени" се користи
со цел да се претстави отстранувањето на она кое не го сакаме. Од големо
значење е да се знае кои се потребните податоци, како треба да изгледаат и
како да се трансформираат според дефиниран прирачник за квалитет на
податоците. Сите практики се мерат со цел за да се следи квалитетот на
податоците, да се направат тимови за прочистување на податоците, а потоа да
се креираат извештаи за да покажат што и како било направено. Овие практики
се креирани спрема метриките како што се идентификација на бројот на
дупликати, комплетност и точност на евиденцијата, валута на документите, како
и да се усогласат стандардите. Природата на Big Data концептот е таква што не
дозволува употреба на традиционални практики за квалитетот на податоците.
Обемот може да биде премногу голем за обработка. Променливоста и брзината
на податоците го успоруваат процесот на следење на податоците.
Разновидноста на податоците и во обемот и во видливоста, може да донесе
двосмисленост. Брзото движење на податоците нема да помогне и да не одведе
до точното место, доколку не се знае кон што се цели. Со создавањето на
подобро, побрзо и поцврсто средство за пристап и со креирање анализа на
голем збир на податоци, може да се дојде до погрешни резултати, доколку
процесите за управување со податоците и квалитетот на податоците не го
одржат потребното темпо на процесирање.
Аспектите поврзани со циклусот на податоците и Big Data концептот на податоци
кои во голема мера влијаат на квалитетот на податоците се:
Метаподатоци. Метаподатоците се важни за секој процес на управување со
податоци. Метаподатоците и метаподатоците за управување се поважни кога се
69
работи со големи, сложени и често податоци од повеќе групи на извори на
податоци. За метаподатоците да се користат во организациите како поддршка
на одлучување, мора да бидат јасни и лесни за интерпретација, но и да бидат
применети на многу основно ниво.
Класификација на елементите на податоци. За квалитетот и менаџментот на
големи податоци, (big DQ и DM), треба да се воспостават минималните барања
за метаподатоци како и стандардите на метаподатоците. За да се поттикне
организацијата да ги употреби податоците, да креира и користи таксономии
(класификација или категорични структури), потребно е да се дефинираат класи
како што се демографски податоци, финансиски податоци, географски /
геопросторни податоци, карактеристики на сопственоста, како и лични податоци
за идентификација.
Стекнување на податоци. Стекнувањето на податоци е од критично значење
за податоците да се организираат соодветно, со цел да бидат полесно
пристапни. Стандардите за размена на податоците и квалитетот и менаџментот
на Big Data се клучни аспекти во процесот на стекнувањето на податоци.
Употребата на заеднички речник и дефиниции го олеснува мапирањето на
податоци низ изворите.
Интегрирање и земање на податоци. Интегрирањето на податоците од повеќе
извори бара голем напор кога се работи за Big Data. Еден од концептите е да се
креира т.н. податочно езеро - “data lake”, каде што ќе има можност да се уфрлат
сите податоци кои доаѓаат од различни извори, а подоцна да се започне со
користење на податоците, да се дефинираат стандарди за воспоставување на
потеклото и да се создадат додатни дефиниции за метаподатоците (позадински
и челни метаподатоци). Иако, овој пристап значително го олеснува тесно
поврзаниот процес, тој креира проблеми околу квалитетот на податоците. Со
користењето на алатките за менаџмент со податоците и процесите како MDM и
управување со идентитетот, сигурно ќе се овозможи подобро дефинирање на
некои од проблемите поврзани со квалитетот на податоците.
Иако квалитетот на податоците се мери според тоа за што податоците се
наменети, за проекти на големи податоци, квалитетот на податоците може да се
оцени поинаку, надвор од нивната намена и може да се фокусира на нивното
70
повторно користење. За да биде тоа возможно, квалитетот на атрибутите на
податоците, важноста, точноста, навременоста, разумноста, комплетноста и
така натаму, мора да бидат јасно дефинирани, измерени, снимени и достапни за
крајните корисници. Артефактите кои се однесуваат на секој елемент на
податоци, вклучувајќи ги и организационите правила и вредностите за
мапирање, исто така, мора да се евидентираат. Доколку податоците се
мапирани или исчистени (преформатирани), треба да се внимава да не се
изгубат оригиналните вредности.
Потребно е да се креираат нови профили на елементи на податоци. Профилите
треба да ја евидентираат комплетноста на секој запис. Бидејќи податоците може
да мигрираат преку системи, прегледи и критериуми за усогласување, треба да
бидат креирани и да се евидентираат за да бидеме сигурни дека групите на
податоци точно се одразуваат на податоците во моментот на нивното
стекнување и дека во целиот овој процес нема загубени податоци или дупликати.
Посебно внимание мора да им се посвети на неструктурираните и
полуструктурирани податоци, бидејќи за нив, атрибутите на квалитетот и
артефактите не можат лесно да се дефинираат. Доколку структурираните
податоци се креирани од неструктурираните и полуструктурираните податоци,
процесот на креирање мора да биде документиран и сите останати процеси за
квалитетот на податоците да се претходно применети.
Во сценариото за големи податоци, треба да се овозможи да се креираат
квалитетни податоци кои вклучуваат атрибути, мерки, мапирање, прочистени
рутини, основни профили на податоци и контрола. [6]
4.4.Концептуализација на ефикасна визуелизација на податоци
Концептуализацијата на визуелизацијата на податоците е доста сложен процес.
Бара комплетно познавање на бизнис контекстот позади податоците, многу
креативност и техничко познавање на процесот на имплементација. Друг аспект
кој е често занемаруван е искуството на корисникот, т.е. разбирањето на тоа како
крајниот корисник да воспостави интеракција со визуелизацијата. Неискуството
и неразбирањето на корисникот води до лошо дизајнирани визуелизации кои го
71
забавуваат процесот на донесување одлуки и ја оневозможуваат целта поради
која е направена визуелизацијата.
Во продолжение ќе биде појаснето како влијае основното разбирање за тоа како
крајниот корисник воспоставува интеракција со визуелизацијата на податоци и
како може визуелизацијата на податоци да се концептуализира на подобар
начин.
Визуелизација на бизнис податоци
Визуелизацијата на бизнис податоците е всушност повеќеслојно претставување
и им овозможува на корисниците да разберат, интерпретираат, мониторираат,
анализираат и да управуваат со нивните бизнис процеси на поефикасен начин.
Податоците од разни бизнис – поврзани настани, се претставени на прецизен и
едноставен начин, кои често носат сознанија од различни извори и потоа се
прикажуваат во високо разбирлива визуелна и привлечна средина.
Компоненти на визуелизација на бизнис податоците
Визуелизацијата на бизнис податоците, за да биде блиску до идеална, треба да
се прикаже на три нивоа: сумарен поглед (summarized view), мулти-
димензионален поглед (multi-dimensional view) и детален преглед (detailed view),
како на Сл. 27. Ова е во согласност со визуелната мантра на Shneiderman [32].
Слика 27: Хиерархиски преглед на податоци
72
Од големо значење е да се разбере дека корисниците не сакаат да ги видат сите
податоци на едно место, поради што хиерархискиот поглед на податоците е
секогаш најпосакуван.
Сумарниот графички преглед со визуелизација му овозможува на корисникот да
добие преглед на податоците на високо ниво на бизнис процесите. Во случаите
кога е избран специфичен поглед (обично е претставен со бои како црвена,
портокалова и зелена), корисникот преминува на следното ниво, како што е
нивото на мултидимензионалниот поглед. Мултидимензионалниот поглед се
поврзува со неколку области поврзани со податоците и обезбедува повеќе
детален приказ на манифестација и застапеност на податоците, со што му
овозможува на корисникот да добие подобра перспектива. Се уште постои
потреба да се премине од пониско грануларно ниво на податоци на
трансакционо ниво, а корисникот поминува во ниво на подетален слој на
информации. Деталното ниво (detailed view) обезбедува поединечни трансакции
од каде што корисникот може лесно да ги осознае изворните причини.
За време на составувањето на самата визуелизација на податоците, научниците
со податоци воспостават добро дефинирани нивоа на апстракција во однос на
податоците. Ова не тоа што само ја прави визуелизацијата лесна за користење,
туку ги прави и сите нивоа повеќе управливи за да може да се распоредат
соодветно на хиерархијата на организацијата.
Спецификациите за дизајнот на податоците, за секој слој на презентација на
податоците се различни и може да бидат:
- Сумаран поглед (Summarized View): Претставува врвниот слој на
визуелизација кој ги прикажува детално основните KPI (на пример, со
користење на графикони или мерни инструменти). Исто така, слојот треба да
има вграден контролен механизам со кој ќе се активира предупредување
тогаш кога KPI го надминува опсегот или паѓа под опсегот на нормалната
вредност.
- Мулти-димензионален поглед (Multi-dimensional View): Во овој слој се
дополнува метриката која е прикажана во горниот слој, со мал број на
дополнителни податоци. Аналитичките алатки мора да бидат изградени
73
според овој слој, со цел да им овозможат на корисниците да извршуваат
компјутерска анализа на податоците.
- Детален поглед (Detailed View): Со помош на овај слој му се олеснува на
корисниците да ги видат извештаите кои се однесуваат на поединечните
трансакции (на пример, фактури, испораки, итн.) [6]
Земајќи ги во предвид сите наведени фактори влијаат на презентацијата на Big
data податоците и соодветните визуелни репрезентации на различни видов Big
data, водени од методите кои се препорачани од научниците од науката за
податоци, избираме соодветни методи и техники за визуелизација на големи
податоци и соодветни алатки кои треба да обезбедат говорливи визуелизации
кои ќе бидат адаптирани на корисничките барања за анализи на податоците на
повеќе нивоа и добивање на информации и знаење од самите Big data со цел да
се поддржат оние кои одлучуваат на сите нивоа на организациските структури.
Софтверот кој го избравме со цел да покажеме практична репрезентација на
ваков вид податоци треба да ги содржи сите потребни елементи од прибирање
на податоци, нивна експлорација и анализа но и да обезбеди можности за
ефективна визуелизација на истите.
74
5. Анализа на софтверски алатки и KPI (Key
Performance Indicators) за визуелизација на BDD
Appache Zeppelin претставува целосно отворен веб – базиран софтвер со кој се
овозможува интерактивна анализа на податоците. Appache Zeppelin е нов и
повеќе наменски софтвер кој овозможува земање на податоците, истражување,
визуелизација, споделување и колаборација на податоците во Hadoop и Spark.
Zeppelin им овозможува на инженерите на податоци, аналитичарите и
научниците на податоци да бидат попродуктивни преку развој, организирање,
спроведување и споделување, размена на код на податоци и визуелизација на
резултати. Софтверот не само што им овозможува на корисниците да
извршуваат, исто така и интерактивно да работат со долги работни процеси. Има
голем број на достапни софтвери кои работат со Spark. Го поддржува Python и
поголема листа на програмски јазици како: Scala, Hive, SparkSQL, shell and
markdown. iPython останува да биде зрел избор и добар пример за научните
податоци на овој софтвер.
Откривањето на податоците, истражувањето, известувањето и визуелизацијата
се клучни компоненти на подготовка на податоците кои ги користат научните
работни процеси со податоците. Zeppelin обезбедува „Модерно студио за научни
податоци“ (Modern Data Science Studio) кое ги поддржува Spark и Hive. [7]
Всушност Zeppelin, има поддршка за зголемување на екосистемот на изворите
на податоци и поддржува повеќе јазични бекенди. Zeppelin софтверот
обезбедува интерактивно "snippet-at-time" искуство на научниците за податоци.
Иако IPython софтверот може да се користи со цел да обезбеди анализа на
податоците во Spark, тие не обезбедуваат оптимизација на податоци надвор од
кутијата (out-of-the box) кои се вградени во Zeppelin.
Концептот на интерпретерот му овозможува на секој јазик или секоја обработка
на податоци на бекенд да биде приклучен во Zeppelin. Иако многу интерпретери
се надвор од кутијата (Spark, Python, Hive, Cassandra, ElasticSearch, Flink итн.),
може да се напише сопствена интерпретација, доколку тоа е потребно. На слика
28 е прикажано како изгледа корисничкиот интерфејс на Zeppelin.
75
Слика 28: Графички кориснички интерфејс на Zeppelin
Со цел да се добие реална слика за тоа колкав напор е потребен за да се
примени алатката, од инсталација до произведување на визуелни прикази од Big
data податоците, преку нивна поготовка до визуелизација, ќе биде направена
целосна слика на применентиот концепт со софтверот од негова инсталација до
крајните визуелни прикази.
5.1.Инсталација на Appache Zeppelin на Windows 64 bit
За инсталација на софтверот Apache Zeppelin потребно е да ги следиме
следните чекори:
- Потребно е да се посети страната на продуктот http://mund-
consulting.com/Products/Sparklet.aspx
- Се кликнува на копчето Sparklet 0.4.6 за преземање на фајлот, со цел да
се продолжи со процесот на преземање.
- Фајлот се зачувува во делот Downloads на компјутерот.
- Пред да се започне со инсталацијата, потребно е да бидат инсталирани
следните предуслови на компјутерот:
o Java Development Kit 7 или понова верзија
o Microsoft Visual C++
76
- Доколку сакаме да го користиме дополнително pySpark (Python API for
Spark), потребно е да се осигураме дека Python distribution е инсталиран
на нашиот компјутер.
Со двоен клик на преземената инсталација се кликнува на (Sparklet-0.4.6.msi) и
се следат следните чекори со цел да се комплетира инсталацијата. (Слика 29)
Слика 29: Чекор по чекор инсталација на Apache Zeppelin
77
o По успешната инсталација, се притиснува на кратенката (shortcut) за да се
стартува со Zeppelin (и Spark) , со тоа што ќе биде достапен на
нашиот десктоп.
o За да се започне со работа со Zeppelin, со двоен клик на Zeppelin
кратенката на нашиот десктоп или двоен клик на \bin\zeppelin.exe, на
пример: C:\Sparklet\bin\zeppelin.exe за да се стартуваат Zeppelin серверот
и Zeppelin веб апликацијата.
o Потребно е да софтверот Zeppelin да се стартува со администраторски
привилегии и да не се затвора конзолата на Zeppelin серверот, додека се
користи Zeppelin веб апликацијата. (Слика 30)
Слика 30: Стартување на Zeppelin сервер
Откако ќе се стартува серверот на Zeppelin, софтверот автоматски се извршува
преку стандардниот (default) веб пребарувач, со порта 8080 преку localhost
http://localhost:8080/#/, со тоа што се стартува Zeppelin. (Слика 31)
78
Слика 31: Почетна страна на Apache Zeppelin
5.2.Кориснички интерфејс на Apache Zeppelin
Кога за прв пат се поврзува Zeppelin, на екранот ќе се појави почетната страна,
како на слика 32.
Слика 32: Почетен интерфејс на Apache Zeppelin
На левата страна од веб страницата се наведени сите постоечки белешки
(notes). Белешките се зачувани во фолдерот на $ZEPPELIN_HOME/notebook.
Исто така белешките можат да се филтрираат по име, со користење на текст
полето за филтрирање на текст (Filter). Во делот над полето Filter може да се
креира нова белешка, да се рефрешира (освежи) листата на постоечки белешки
(во случај рачно да се копирани во $ZEPPELIN_HOME/notebook фолдерот) и да
се внесе белешка. Тоа е прикажано на Слика 33.
79
Слика 33: Филтрирање на записи
Се кликнува на линкот за внесување на белешка (Import note), со цел да се
креира нова белешка, откако ќе се креира белешката се отвора нов дијалог
прозорец. Од таму може да се изберат две опции:
да се внесат белешки од локалниот диск или
од оддалечена локација, со помош на URL.(Слика 34)
80
Слика 34: Внесување на нов запис
Името на веќе внесената белешка е исто како оригиналната белешка по
стандард (default), но лесно може да се замени преку внесување на ново име.
Навигационо мени
Навигационите мениа се наоѓаат на горниот дел на софтверот Zeppelin, тоа се:
Notebook
Interpreter
Notebook – Бележник
Notebook менито, ги нуди речиси истите карактеристики како и делот за
управување со белешки (note management) на почетната страница. (Слика 35)
Од паѓачкото мени можат да се изберат следните опции:
81
- Да се отвори веќе постоечка белешка
- Да се креира нова белешка
Слика 35: Notebook мени
5.3.Интерпретер
Концептот на интерпретерот во Zeppelin овозможува секој јазик или секоја
обработка на податоци да биде приклучен во Zeppelin. Во Zeppelin се поврзани
многу интерпретери како Scala (со Apache Spark), Python (со Apache Spark),
SparkSQL, JDBC, Markdown, Shell и многу други. (Слика 36)
Во менито на интерпретерот можат да се користат следните опции:
- Може да се конфигурира постоечка инстанца (пример) на интерпретерот
- Може да се додаде нова или да се отстране инстанца на интерпретер
82
Слика 36: Interpreter мени
Zeppelin интерпретерот претставува дополнителна компонента која им
овозможува на корисниците на Zeppelin да користат друг специфичен јазик или
обработка на податоци. На пример, за да се користи Scala кодот во Zeppelin,
потребно е во Zeppelin да се приклучи % Spark интерпретерот.
Со кликнување на копчето +Креирај , на страницата на интерпретерот, мени
листата на интерпретерот ќе ги прикаже сите достапни интерпретери на
серверот. (Слика 37)
Слика 37: Креирање на нов интерпретер
83
5.4.Распоред на белешки
Во секоја Zeppelin белешка (note) можат да се додаваат од 1 до N параграфи.
Белешката може да се состои од повеќе параграфи. (Слика 38)
Слика 38: Преглед на внесени параграфи во Zeppelin
За да се постави интерпретерот во Zeppelin треба да се конфигурира дадениот
интерпретер во Zeppelin серверот. На слика 39 е прикажан пример како изгледа
поставувањето на интерпретерот. Потребните својства за hive JDBC
интерпретерот се поврзуваат со Hive серверот.
Слика 39: Подесување на interpreter во Zeppelin
84
5.5. Користење на параграф
Секој параграф се состои од 2 дела и тоа:
Делот за код (code section) каде што се пишува изворниот код
Делот за резултат (result section), каде што се гледа резултатот од
извршувањето на кодот. Тоа може да се види на примерот подолу на
слика 40.
Слика 40: Пример како изгледа внесен код и извршувачки код во Zeppelin
Во горниот десен агол на секој параграф постојат неколку команди
:
- Извршување на кодот кој е напишан во параграфот
- Криење/Прикажување на кодот во параграфот
- Криење/Прикажување на резултатот во параграфот
- Конфигурирање на параграфот
За да се конфигурира параграфот се кликнува на иконата , со тоа што ќе се
појави менито со алатки, како на слика 41:
85
Слика 41: Конфигурирање на параграф
Откако ќе кликниме на иконата , понудени ни се следните опции:
Width - Контрола на ширината на параграфот. Zeppelin користи систем
на мрежа со која, ширината на секој параграф може да биде подесена
од 1 до 12. Тако што 1 е најмала ширина а 12 е најголема ширина на
параграфот.
Move up - Параграфот се поместува едно ниво погоре (над
постоечкиот параграф)
Move down - Параграфот се поместува едно ниво подолу (под
постоечкиот параграф)
Insert new – Се креира нов параграф
Show title – Прикажување на насловот на параграфот
Show line numbers - Криење/Прикажување на линијата за броевите на
редовите во делот за внесување на код
Disable run - Се исклучува копчето за стартување на параграфот
Link this paragraph – Изнесување на моменталниот параграф како
вградена рамка и отворање како вградена рамка во нов прозорец.
Clear output – Бришење на делот за резултат
Remove – Бришење на моменталниот параграф
86
5.6. Поставување на Note палета со алатки
На врвот на белешката (Note), може да се најде палета со алатки, на која има
командни копчиња, како и опции за конфигурација, безбедност и опции за
подесување на екран. (Слика 42)
Слика 42: Toolbar со алатки за секој запис
На левата страна е прикажано името на белешката, со кликнување на неа може
да се смени името, така што ќе се ажурира името на целата белешка.
На средината на палетата со алатки, се наоѓаат командните копчиња (Слика 43),
тие се:
Секвенцијално извршување на сите параграфи, според нивниот
распоред
Криење/Прикажување на делот за внесување на кодот на сите
параграфи
Криење/Прикажување на делот каде се прикажуваат резултатите од
внесениот код на сите параграфи
Бришење на делот каде се прикажуваат резултатите на сите
параграфи
Клонирање на моменталната белешка
Експортирање на моменталната белешка во JSON датотека, треба да
се има во предвид дека делот за внесување на код и делот за
прикажување на резултати на сите параграфи, исто така ќе бидат
експортирани. Доколку има многу податоци во делот за прикажување на
резултатот на некои параграфи, се препорачува да се избришат од тој дел
пред експортирањето.
Извршување на моменталната содржина
87
Бришење на белешката
Распоред на извршување на сите параграфи со користење на
синтаксата CRON.
Слика 43: Командни копчиња на палетата со алатки
На десната страна од палетата со алатки, се наоѓаат икони за конфигурација
како:
- Приказ на сите кратенки на тастатура (Слика 44)
- Конфигурирање на интерпретери кои се обврзувачки за моменталната
белешка (Note)
- Приказ на екранот (режим на екранот) помеѓу стандардно (default),
едноставно (simple) и извештај (report). (Слика 45)
Слика 44: Приказ на сите кратенки на тастатура кои можат да се извршат во
софтверот Zeppelin
88
Слика 45: Приказ на екран
5.7.Компаративна анализа на софтверот Zeppelin за
визуелизација на Big Digital Data
Колаборативната анализа на податоците во Zeppelin и способностите за
визуелизација на податоците го прават лесно нивното истражување, нивната
визуелизација, споделување и соработка преку системи за обработка на
податоци кои ги користат Apache Flink, Apache Hadoop, и Apache Spark, помеѓу
другите платформи на Big Data.
Apache Zeppelin е повеќенаменски софтвер, карактеристичен за ингестија на
податоците, истражување, анализи, визуелизација и соработка. Подржува 20+ и
повеќе бекенд системи, вклучувајќи ги Apache Spark, Apache Flink, Apache Hive,
Python, R и JDBC (Java Database Connectivity), лесен е за распоредување,
изграден е на врвот од модерните веб технологии (обезбедува вградена Apache
Spark интеграција, се елиминира потребата да се изгради посебен модул,
приклучок, или библиотека), лесен е за користење, во него се вградени
визуелизации и динамични форми.
Apache Zeppelin е флексибилен, тој им овозможува на корисниците да „мешаат“
различни јазици, разменуваат податоци помеѓу бекенди, им овозможува
прилагодување на изгледот. На него можат да се приклучат хардверски и
софтверски компоненти за интерпретери, автентикации и визуелизации. Тој е
напреден, овозможува интеракција помеѓу сопствени визуелизации и група на
ресурси.
89
Со Apache Zeppelin, широк спектар на корисници можат да направат прекрасни
прикази на податоци за управување, интерактивни и колаборативни документи
со SQL, Scala, и многу други.
Apache Zeppelin е во употреба во многу организации со решенија кои
вклучувааат: Amazon Web Services, Hortonworks, JuJu и Twitter, меѓу другите.
Apache Zeppelin е главен user-facing дел од Memcore вградената меморија на
обработка на податоци со помош на cloud придонес. Тој овозможува ефикасни
кориснички придобивки на секој оној кој се обидува да изгради нови продукти или
сервис придонеси во сите пазари на Big Data, со креирање на иновации,
соработка и полесен развој за секого. [8]
5.8.Визуелизација со користење на Zeppelin
Со помош на Zeppelin можат да се направат визуелизации на база со големи
податоци, така што таа база со многу податоци ќе може многу подобро да се
анализира со помош на дијаграмите кои ги нуди Zeppelin. Со претставување на
визуелизацијата се добива многу подобар преглед на сите податоци во таа база.
Со помош на следниот пример ќе може да се види како се прават визуелизации
во Zeppelin. За да се изврши визуелизацијата во Zeppelin, се отвора нов запис
со име Avtomobili како на слика 46.
Слика 46: Додавање на нов запис Avtomobili
Базата со податоци која ќе се анализира се вика cars, форматот на базата е со
екстензија .csv (comma-separated values) прикажана е на слика 47. Се состои од
407 редови на податоци. Колоните на базата се означени со следните имиња:
90
mpg
cylinders
engine
horsepower
weight
acceleration
year
origin
name
Слика 47: База со дел од податоците cars.csv прикажана во Excel
91
Во параграфот што се наоѓа под името на записот "Avtomobili" се пишува
следниот код во Scala: Листинг 1
def dataTable():String={
var str=""
//Load csv file
Val
csv=scala.io.Source.fromFile("D:/Downloads/weather/cars.csv")
for(line <- csv.getLines){
val cols=line.split(",").map(_.trim)
str=str+cols.mkString("\t")
str=str+"\n"
}
csv.close
return str
}
//To display the charts
println("%table "+dataTable())
Со помош на овај код, најпрво се вчитува базата со податоци во csv фајл, потоа
се генерира табела која се прикажува во извршниот дел на софтверот Zeppelin.
92
Кодот се извршува со помош на командата Run this paragraph, со
кликнување на горниот десен агол. Откако ќе се кликни на командата Run
потребно е чекање одредено време додека да се изврши кодот како на слика 48.
Слика 48: Извршување на кодот во Scala за вчитување и приказ на база со податоци
Oткако ќе се внеси соодветниот код, во делот за пишување на кодот (code
section) во Scala, кодот ќе се процесира. Во делот за извршување се прикажува
табелата со базата на податоци, и со помош на лизгачот од десната страна
можат да се видат сите податоци кои ги содржи базата cars.csv. (Слика 49)
Слика 49: Приказ на базата cars.csv во табела
Предноста на софтверот Zeppelin во однос на другите софтвери е тоа што можат
да се генерираат визуелизациите моментално и во делот за извршување на
резултатот се прикажуваат сите полиња на базата со податоци која е предмет
на визуелизација. Така што со едноставно влечење и пуштање на полето кое
93
треба да се визуелизира, Zeppelin ги агрегира вредностите и ги прикажува во
график. Тоа е прикажано на слика 50.
Слика 50: Мени за подесување и правење на визуелизации
Со црвена боја се означени сите полиња кои се содржат во базата на податоци,
а со зелена боја е прикажана областа на сликата каде со едноставно влечење и
пуштање на полето се генерира визуелизација.
Постојат три области каде што можат да се влечат полињата кои треба да се
визуелизираат:
Keys
Groups
Values
Во делот Keys се внесуваат клучните полиња кои треба да се визуелизираат, во
делот Groups се внесуваат полињата кои треба да бидат групирани според некој
редослед во базата на податоци и во третиот дел Values се внесуваат полиња
на кои се извршуваат вредности како сума (sum), одбројување (count), просек
(average), минимум (min), максимум (max).
На првата визуелизација е претставен дијаграм за годината на производство на
автомобилите, во однос со забрзувањето на секој автомобил од 0 до 100 km/h,
94
кои се групирани по потекло на автомобилите каде што се произведени
(Америка, Европа, Јапонија) според базата со податоци cars.csv. (Слика 51)
Слика 51: Визуелизација за годината на производство во однос со минимумот од
забрзувањето групирани по потекло на автомобилите
На дијаграмот лесно се воочливи резултатите кои се визуелизирани. На пример
на x оската се прикажани годините на производство на автомобилите. На y
оската се прикажани секундите на забрзувањето од 0 до 100 km/h на најбрзиот
автомобил кој е произведен во
годината која е прикажана на x оската,
а сите заедно се групирани по
потеклото на автомобилите кое се
гледа на горниот десен агол на Слика
51.
На слика 52 е зумиран првиот дел
каде со допирање на курсорот се
прикажуваат податоци за секоја
колона во визуелизацијата. Така што
Слика 52: Деталн преглед на првата визуелизација
95
со допирање на саканата колона со курсорот, се гледа дека најбрзиот автомобил
кој е произведен во америка во 1970 година забрзува од 0 до 100 km/h за 8
секунди.
Во втората визуелизација е претставен дијаграм за големината на моторот во
однос со минимумот на забрзувањето на автомобилите од 0 до 100 km/h
групирана по година на производство на автомобилите. Во оваа визуелизација
на x оската е претставена зафатнината на моторите на олд-тајмер автомобилите
во мерка кубни инчи (cubic inch7), а на y оската е претставено забрзувањето кое
е сумирано од најбрзите автомобили, така што на слика 53 е прикажано и
групирањето на автомобилите според годината на производство.
Со влечење и пуштање на полињата engine, year, acceleration во соодветните
области како на слика 50 може да се добие оваа визуелизација. Така што engine
се влечи во областа keys, полето year се влечи во областа groups, а полето
acceleration се влечи во областа values. Со кликнување на полето acceleration
кога е поставено во областа values, се подесува на вредност min, така што ќе се
прикажуваат само возилата со најмало забрзување.
Слика 53: Визуелизација за големината на моторот во однос со минимумот на
забрзувањето на автомобилите групирана по година на производство
На слика 54 прикажан е пример за детален преглед на сите автомобили од
базата со податоци cars.csv, кои имаат зафатнина на мотор од 250 кубни инчи
7 Cubic inch (Кубни инчи) е единица мерка за мерење на волумен во Соединетите Американски
Држави (САД). Така што 1 кубен инч = 0.0163871 литри. На пример доколку имаме мотор од
400 кубни инчи тоа е 6,5 литри зафатнина на моторот.
96
или 3.2 литри. Доколку се приближиме до дијаграмот со курсорот, во делот 250
како што е прикажано на сликата подолу, ќе се прикажи картичка со детален
преглед на сите години на производство кои се состојат во базата со податоци.
Слика 54: Детален преглед на сите автомобили од базата со податоци cars.csv
Десно од годините на производство (70та, 71ва, 72ра итн) се прикажани
вредностите во мерка секунди за најбрзото забрзување на автомобилите од 0
до 100 km/h групирани по годината на производство.
Во софтверот Zeppelin има опција во делот за групирање на податоците да се
вклучат или исклучат само податоците кои треба да се визуелизираат со
едноставно кликнување на круговите до групираните податоци како на сликата
55
Слика 55: Контрола на групираните податоци, кои податоци да се прикажат
Ако кругот до групираниот податок е со полна боја тоа значи дека тој дел ќе се
прикажи на визуелизацијата, доколку кругот е празен тоа значи дека нема да се
97
прикажи тој податок на визуелизацијата. На примерот на слика 55 ќе се прикажат
само годините 74, 78, 79, 80, 82 и undefined на визуелизацијата. (Слика 56).
Слика 56: Филтрирање само на годините на производство на податоците кои се
анализираат
Во третата визуелизација целта е да се види дека можат да се постават повеќе
вредности во областите keys, groups и values, со тоа што ќе се добие
визуелизација во која бројот на цилиндрите, бројот на коњски сили и
зафатнината на моторот се во однос со тежината на автомобилите (Слика 57).
Слика 57: Визуелизација во која бројот на цилиндрите, бројот на коњски сили и
зафатнината на моторот се во однос со тежината на автомобилите
Со влечење и пуштање на полињата cylinders, horsepower, engine и weight во
соодветните области како на слика 58 може да се добие оваа визуелизација.
Така што полињата cylinders, horsepower и engine се влечат во областа keys, а
полето weight се влечи во областа values. Со кликнување на полето weight кога
е поставено во областа values, се подесува на вредност min, така што ќе се
прикажуваат возилата со најмала тежина.
98
Слика 58: Област за конфигурирање на визуелизација
На слика 59 прикажан е пример за детален преглед на сите автомобили од
базата со податоци cars.csv. На долниот дел (x оската) вредностите се одделени
со точка, со тоа што се прикажуваат по три вредности. Прикажан е бројот на
цилиндри на автомобилите, бројот на коњски сили и зафатнината на моторот, а
подредени се по бројот на цилиндрите на секој автомобил. На y оската е
прикажана тежината на автомобилите. Со покажување на курсорот на
Слика 59: Детален преглед на третата визуелизација
дијаграмот, во делот што е прикажан на сликата 59, ќе се прикажи картичка со
детален преглед (ToolTip):
99
бројот на цилиндри е 4
бројот на коњски сили е 70 hp
зафатнината на моторот е 79 кубни инчи или 1.3 литри
Tежината на автомобилот е 2074 lbs или 940 килограми.
На слика 60 и 61 прикажани се примери со помош на базата cars.csv и
прилагодувањето за кои податоци да се визуелизираат и со каква визуелизација
да се прикажат на dashboard - от на Zeppelin. Изборот на визуелни техники за
приказ на податоците е голем и зависи од преференците на корисниците.
Слика 60: Визуелизација за тежината на возилата во однос со максимумот на
забрзувањето на автомобилите
Слика 61: Визуелизација за потекло на возилата во однос со година на производство
групирана по големината на моторот на автомобилите
Следната база со податоци која ќе се анализира е именувана како Master и во
неа е прикажана статистика на бejзбол играчи со податоци за секој играч.
Форматот на базата е со екстензија .csv (comma-separated values) и е прикажана
100
е на слика 62. Се состои од 18 590 редови на податоци. За да се изврши
визуелизацијата во Zeppelin, се отвора нов запис на кој се пишува име. Како во
претходниот пример со базата на податоци "cars", колоните на базата се
означени со следните имиња:
playerID
birthYear
birthMonth
birthDay
birthCountry
birthState
birthCity
deathYear
deathMonth
deathDay
deathCountry
deathState
deathCity
nameFirst
nameLast
nameGiven
weight
height
bats
throws
debut
finalGame
retroID
bbrefID
Слика 62: База со дел од податоците cars.csv прикажана во Excel
Во новиот параграф што се наоѓа под внесеното име на записот се пишува
следниот код во Scala: Листинг 2
def dataTable():String={
var str=""
101
//Load csv file
Val
csv=scala.io.Source.fromFile("D:/Downloads/weather/Master.csv
")
for(line <- csv.getLines){
val cols=line.split(",").map(_.trim)
str=str+cols.mkString("\t")
str=str+"\n"
}
csv.close
return str
}
//To display the charts
println("%table "+dataTable())
Со помош на овај код, најпрво се вчитува базата со податоци во csv фајл, потоа
се генерира табела која се прикажува во извршниот дел на софтверот Zeppelin.
Кодот се извршува со помош на командата Run this paragraph, со
кликнување на горниот десен агол. Откако ќе се кликни на командата Run
потребно е чекање одредено време додека да се изврши кодот. Во делот за
извршување се прикажуваат опциите за визуелизирање на базата со податоци
"Master".(Слика 63)
102
Слика 63: Опции за визуелизација на базата со податоци "Master"
Од базата со податоци "Master", доколку се визуелизира само дел од податоците
кои се предмет на анализа и истражување се добива следната визуелизација:
Во делот Keys, со помош на влечење со курсорот од полињата се додава
полето "birthCity", a во делот Values исто така со влечење се додава
полето "weight" и со кликнување на полето се избира опцијата AVG.
Визуелизациите кои се прикажани во горниот лев агол од сликата, се
избира соодветната визуелизација како што е прикажано на слика 63.
Со вака поставените опции се добива визуелизација во која е претставен
односот на градот на раѓање на секој играч, и идеалната тежина (средна
тежина) на секој безбол играч на точкаст (Scatterplot) дијаграм.(Слика 64)
Слика 64: Визуелизација во која е претставен градот на раѓање на секој играч во
однос на средната тежина на секој безбол играч.
103
На дијаграмот лесно се воочливи резултатите кои се визуелизирани. На x оската
се прикажани градовите во кои се родени играчите. На y оската е прикажана
телесната тежина на безбол играчите.
Слика 65: Детален преглед на точкастиот дијаграм од креираната визуелизација
На слика 65 е зумиран првиот дел каде со допирање на курсорот се прикажуваат
податоци за секоја точка каде што е селектирана во визуелизацијата. Така што
на примерот на картичката се гледа дека во градот West Boylston средната
(идеална) телесна тежина на играчот изнесува 140 lbs.
Со помош на анализите кои се направени претходно на големите количества
податоци, лесно и поедноставно можат да се согледаат податоците и да се
донесат соодветни одлуки со помош на визуелизациите. Исто така
визуелизациите најдобро се анализираат на што поголеми компјутерски
монитори така што прегледноста е многу подобра.
104
5.9.Креирање визуелизации со помош на локални бази на
податоци и SQL команди
Следна анализа и визуелизација на големи дигитални податоци (BDD) може да
се направи со помош на локалната база со податоци која се вика bank, форматот
на базата е со екстензија .csv (comma-separated values) прикажана е на слика 66
Се состои од 45 212 записи на редови со податоци, што претставува големо
количество на податоци (на слика 66 се прикажани само 23 записи на редови со
податоци). Колоните на базата се означени со следните имиња:
Age,
job,
marital,
education,
default,
balance,
housing,
loan,
contact,
day,
month,
duration,
campaign,
pdays,
previous,
poutcome,
y
Слика 66: База со дел од податоците bank.csv прикажана во Excel
105
Анализата и визуелизацијата се прави исто така со помош на Zeppelin. Откако
ќе се стартува серверот на Zeppelin, автоматски се извршува преку
стандардниот (default) веб пребарувач, со тоа што серверот се стартува и на
пребарувачот и се појавува работната околина на Zeppelin ( стартувањето на
Zeppelin е претставено претходно во делот за инсталација и работа со
софтверот).
Се отвора нов запис со име Bank како на слика 67.
Слика 67: Додавање на нов запис Bank во Zeppelin
За да се трансформираат податоците од CVS формат во RDD8 од Bank
објектите, се стартува следната скрипта. Исто така, ова ќе го отстрани heаder -
от, со користење на филтер функцијата.
Во параграфот што се наоѓа под името на записот "Bank" се пишува следниот
код во Spark. (Слика 68): Листинг 3
val bankText = sc.textFile("D:/Downloads/bank/bank-full.csv")
case class Bank(age:Integer, job:String, marital : String, education :
String, balance : Integer)
// split each line, filter out header (starts with "age"), and map it into
Bank case class
val bank = bankText.map(s=>s.split(";")).filter(s=>s(0)!="\"age\"").map(
8 RDD (Resilient Distributed Datasets) е основна структура на податоци на Spark. Станува збор за
непроменлива дистрибуирана колекција на предмети. Секоја база на податоци во RDD е
поделена на логички партиции, кои можат да бидат пресметани во различни јазли на кластерот
(групата). RDD може да го содржи било кој тип на Python, Java, или Scala објектите, вклучувајќи
ги и класите кои се дефинирани од корисникот.
106
s=>Bank(s(0).toInt,
s(1).replaceAll("\"", ""),
s(2).replaceAll("\"", ""),
s(3).replaceAll("\"", ""),
s(5).replaceAll("\"", "").toInt
)
)
// convert to DataFrame and create temporal table
bank.toDF().registerTempTable("bank")
Слика 68: Пишување и извршување на горенаведениот код во Zeppelin
Со кликнување на командата Run this paragraph на горниот десен агол,
потребно е одредено време додека да се изврши кодот. Кога кодот ќе се
процесира, во долниот дел за извршување се прикажува дека е дефинирана
класа Bank и дека е повикана т.е. вчитана базата со податоци bank како на слика
68.
Откако ќе се вчита базата со податоци, таа се конвертира во табела од која може
да се извршат одредени анализи и визуелизации со помош на пишување на SQL
команди. SQL командите можат да се пишуваат во наредниот параграф под
107
кодот на слика 68 кој е извршен. Да претпоставиме дека сакаме да ја видиме
распределбата по возраст од базата со податоци bank. Ова покажува како може
да се користат SQL прашалници за да се селектираат податоци. За да се
направи тоа потребно е да се пишува следниот SQL код: Листинг 4
%sql select age, count(1) from bank group by age order by age
Со кликнување на командата Run this paragraph, се извршува SQL
кодот. Се селектира колоната "age" од базата со податоци bank, каде што се
групирани и редоследно наредени по колоната "age" како на слика 69.
Слика 69: Селектирање и групирање на колоната "age" од базата со податоци bank со
помош на SQL
Можно е да се филтрира одреден дел од колоната кој треба да се анализира со
помош на SQL кодот подолу: Листинг 5
%sql select age, count(1) from bank where age < 30 group by age
order by age
108
Во случајот во колоната "age" се прикажуваат вредностите т.е. годините кои се
помали од 30. Визуелизацијата, откако ке се изврши командата, ке изгледа како
на слика 70.
Слика 70: Визуелизација со услов во колоната "age" да се прикажуваат годините
помали од 30
Доколку податоците кои треба да се анализираат и визуелизираат се
променливи и потребно е да се добијат различни визуелизации во зависност од
внесените вредности, се користи поле за внесување на вредности, кои
корисникот сам ги внесува.
SQL кодот прикажан подолу (Листинг 6) го пишуваме во нов параграф. Со
кликнување на командата Run this paragraph, се извршува SQL кодот,
со тоа што се додава поле во софтверот во кое ќе се внесуваат променливите
вредности. Полето се вика maxAge (Слика 71). Вредностите кои се впишуваат
во текст полето се извршуваат моментално, така што веднаш се добива нова
визуелизација во однос на впишаната вредност во полето. Со визуелизациите
јасно се претставени податоците и лесно може да се проценат и да се прочитаат
на излезниот екран.
Листинг 6
%sql select age, count(1) from bank where age < ${maxAge=30} group
by age order by age
109
Слика 71: Додавање на поле во кое се внесуваат променливите вредности
На сликите подолу е прикажано како се менуваат визуелизациите со внесување
на различни вредности во полето, во кое се внесуваат променливите вредности.
Претставени се различни типови на податоци.
Слика 72: Приказ на податоците од базата со податоци bank до 50 години
110
Слика 73: Приказ на податоците од базата со податоци bank до 70 години
Со отворање на нов параграф во Zeppelin, софтверот има опција да печати на
извршниот дел табела направена од податоци. Доколку имаме податоци кои
редиците им се одвоени со "\n" (newline) и колони кои се одвоени со "\t" (tab)
едноставно можно е да се употреби командата %table. Таа може да се направи
со помош на програмскиот код во Scala или некој друг програмски јазик.
Примерот кој е претставен е направен во Scala, со овај код кој е прикажан подолу
може да се направи едноставна табела која после може да се визуелизира
(Листинг 7).
Листинг 7
println("%table name\tage\nmesecina\t10\nsonce\t20\n")
Со кликнување на командата Run this paragraph, се извршува кодот. На
слика 74 е прикажана табелата која се креира директно после пишување на
кодот во Scala.
111
Слика 74: Приказ на табела која се креира со кодот println во Scala
5.10. Претставување на математички визуелизации
Со софтверот Zeppelin исто така можно е да се претстават и математички
визуелизации со помош на Scala програмскиот јазик. Со пишување на кодот
подолу во нов параграф во софтверот Zeppelin, прво се креира табела со "x" и
"y" колони, следно се извршува циклус од 1 до 360 во кој се пресметува sin (синус
од вредноста " i ") – Листинг 8. Визуелизацијата е прикажана на Слика 75.
Листинг 8
println("%table\nx\ty")
(1 to 360).map(i=>i.toDouble / 50).map(x=>(x,
Math.sin(x))).foreach{case (x,y) => println(x + "\t" + y)}
Со кликнување на командата Run this paragraph, се извршува кодот,
така што се добива табела со вредности за "x" и "y" колоните. Потоа со
кликнување во делот до табелата се креира визуелизација како на слика 75.
112
Слика 75: Математичка визуелизација со Scala
5.11.Објавување на претставените визуелизации на друг екран
Apache Zeppelin има можност екранот на кој се работи да се сподели на друг
екран со помош на websockekt или URL адреса. Визуелизациите кои се
направени во Zeppelin можат интерактивно да се изменуваат, со тоа што на сите
екрани каде што работат, на иста адреса, можат да се гледаат промените
моментално. Корисниците или тимовите кои работат на Zeppelin, за да направат
споделување на екранот, потребно е да се копира URL адресата која се наоѓа
на горниот дел од пребарувачот на кој работат како на слика 76
Слика 76: URL адреса за споделување на работниот екран во Zeppelin
Опцијата за споделување на екраните на повеќе компјутери преку URL е
прикажана на сликата 77. Предноста на оваа опција е тоа што многу полесно
може да се има пристап до кодовите и визуелизациите на далечни релации
помеѓу различни тимови и корсници.
113
Слика 77: Пример како изгледа споделување на еден екран во Zeppelin на повеќе
места во исто време
5.12.Копирање на параграфи со помош на линкови
Првиот чекор за да се објави резултатот од параграфот е да се копира линкот
на параграфот.
Откако ќе се стартува параграфот во Zeppelin софтверот, се кликнува
на копчето Settings кое се наоѓа на десната страна. Потоа, се кликнува
на опцијата Link this Paragraph која се наоѓа на паѓачкото мени, како
на сликата подолу. (Слика 78)
Слика 78: Копирање на параграф со визуелизација
114
Во делот каде што сакаме да го видиме само тој параграф со кликнување на
командата Link this paragraph автоматски ни се отвора параграфот во нов
прозорец на пребарувачот. Доколку треба да се отвори тој параграф во друг
пребарувач, или да се прати само визуелизацијата на тој параграф се копира
само URL адресата, така што ќе има пристап до неа. Примерот е прикажан на
слика 79.
Слика 79: Пример како изгледа копирање на еден параграф или визуелизација
5.13. Вградување на пасуси во сопствена web страна
За објавување на копираниот параграф, се користи <iframe> тагот на веб сајтот.
Листинг 9
<iframe src="http://< ip-address >:< port
>/#/notebook/2B3QSZTKR/paragraph/...?asIframe" height="" width=""
></iframe>
Во тагот <iframe> треба да се копира IP адреста на параграфот со
визуелизацијата која сакаме да ја претставиме на веб страната, потоа да
внесиме ширина и должина на параграфот, во која големина да се прикажи на
веб страната.
115
Со вградување (embed) на параграф во некоја веб страна можат да се
претстават убави визуелизации на веб сајтот.
116
Заклучок
Концептите за визуелизација на Big Digital Data (BDD) се анализираат од страна
на податочните модели поради потребата да се користат од корисници со
различни нивоа на IT вештини и потреби за различни анализи во различно време
или простор. Организациите со помош на Big Data ги користат информациите за
да го збогатат корисничкото искуство и да ги трансформираат своите бизнис
модели. Big Data им овозможува на организациите да чуваат, менаџираат, и да
манипулираат со голем број на податоци со точна брзина и во точно време за да
ги добијат точните податоци. Клучот за разбирањето на поимот Big Data е дека
податоците мора да бидат менаџирани за да се исполнат барањата на бизнисот
и да се дизајнира решение од добиените податоци.
Визуализација на податоци e презентирање на податоците во графички или
сликовит формат. Им помага на оние кои носат одлуки да ги видат аналитичките
податоци визуелно, за да можат да ги разберат тешките концепти или да
идентификуваат нови шеми. Во овој магистерски труд се разгледувани некои од
основните проблеми во врска со визуализацијата на Big Data податоците и се
даваат предлози за решавање на таквите проблеми. Големиот број на податоци
и нивната динамичка природа носат и единствени предизвици за создавање на
посебни говорливи визуализации. Затоа, во овој труд се разгледуваат некои од
тие предизвици и нивните потенцијални решенија во работењето со голем број
податоци. Постојат некои основни концепти кои помагаат при генерирање на
најдобрите прикази за податоците:
Разбирање на податоците кои треба да се визуeлизираат вклучувајќи ја
нивната големината и важност
Одредување што треба да се претстави и какви информации треба да се
пренесат
Познавање на аудиториумот (корисниците) и разбирање како да се
обработат визуелните информации, користење на прикази кои ги
прикажуваат информациите во најдобра, најговорлива и наједноставна
форма за корисниците.
117
Постојат конвенционални методи за визуализација на голем обем на податоци,
како на пример: табели, хистограми, прикази во координатен систем, пити,
комбинација на дијаграми, венов дијаграм, дијаграми за протокот на податоци,
дијаграми за врските помеѓу ентитетите итн. Постојат и други методи за
визуализација на податоците иако се помалку познати за разлика од претходно
споменатите. Тие дополнителни методи се методите за мултидимензионална и
мултиваријантна анализа како паралелни координати, хиерархиски техника,
семантички мрежи итн. Паралелни координати се користат за да се организираат
индивидуалните елементи на податоците според повеќе димензии. Создадени
се дополнителни техники на визуелизација за да се прикажат големите податоци
тоа се: Treemap, Circle Packing, Sunburst, Paralell coordinates, Streamgraph,
Circular network diagram.
Анализата на интерактивните визуелни групи е најинтуитивниот начин за
откривање на групи на шаблони. Најкомплексен чекор е визуализацијата на
мултидимензионални податоци и овозможување на корисниците интерактивно
да ги истражуваат податоците и да ги идентификуваат структурните групи.
Во магистерскиот труд е обработена анализа на софтверска алатка и KPI (Key
Performance Indicators) за визуелизација на Big Digital Data, Appache Zeppelin.
Appache Zeppelin е отворен веб – базиран софтвер со кој се овозможува
интерактивна анализа на податоците. Appache Zeppelin е повеќе наменски
софтвер кој овозможува земање на податоците, истражување, визуелизација,
споделување и колаборација на податоците. Им овозможува на инженерите на
податоци, аналитичарите и научниците на податоци да бидат попродуктивни
преку развој, организирање, спроведување и споделување, размена на код на
податоци и визуелизација на резултати. Софтверот не само што им овозможува
на корисниците да извршуваат, исто така и интерактивно да работат со долги
работни процеси. Го поддржува Python и поголема листа на програмски јазици
како: Scala, Hive, SparkSQL, shell и markdown. Со цел да се добие реална слика
за тоа колкав напор е потребен за да се примени алатката, од инсталација до
произведување на визуелни прикази од Big Data податоците, преку нивна
поготовка до визуелизација, во овај труд е направена целосна слика на
применентиот концепт со софтверот од негова инсталација до крајните визуелни
прикази. Податоците во Zeppelin и способностите за визуeлизација на
118
податоците го прават лесно нивното истражување, нивната визуелизација,
споделување и соработка преку системи за обработка на податоци кои ги
користат Apache Flink, Apache Hadoop, и Apache Spark, помеѓу другите
платформи на Big Data, лесен е за распоредување, изграден е на врвот од
модерните веб технологии. Тој им овозможува на корисниците да „мешаат“
различни јазици, разменуваат податоци помеѓу бекенди, им овозможува
прилагодување на изгледот. На него можат да се приклучат хардверски и
софтверски компоненти за интерпретери, автентикации и визуелизации. Тој е
напреден, овозможува интеракција помеѓу сопствени визуелизации и група на
ресурси. Широк спектар на корисници можат да направат прекрасни прикази на
податоци за управување, интерактивни и колаборативни документи со SQL,
Scala, и многу други.
Apache Zeppelin е во употреба во многу организации со решенија кои
вклучувааат: Amazon Web Services, Hortonworks, JuJu и Twitter. Во Zeppelin
можат да се направат визуелизации на база со големи податоци, така што таа
база со многу податоци ќе може многу подобро да се анализира со помош на
дијаграмите кои ги нуди Zeppelin.
Со добиените визуелизации и примерите кои се претставени во овај
магистерски труд може да се види целиот концепт на анализа на модели за
визуелизација на Big Digital Data, преку опис на техники за визуелизација, развој
на потребите на бизнисот и научниот свет, анализа на многу софтверски алатки
И креирање и претставување на визуелизации.
119
Користена Литература
[1] 2013 by Judith Hurwitz, Alan Nugent, Dr. Fern Halper, and Marcia Kaufman, Big
data for dummies, pg. 39-44, 45-47.
[2] 2016 by Bahaaldine Azarmi, Scalable Big Data Architecture, pg. 27,28,29.
[3] 2013 by Nitin Sawant and Himanshu Shah, book, Big data application architecture
Q&A, pg. 13,14,19, 79-89, 123-125.
[4]3 reasons why “visualization” is the biggest “V” for big data,
http://www.ngrain.com/3-reasons-why-visualization-is-the-biggest-v-for-big-data/.
[5] Big Data and Visualization: Methods, Challenges and Technology Progress,
http://pubs.sciepub.com/dt/1/1/7/.
[6] By Soumendra Mohanty, Madhu Jagadeesh, Harsha Srivatsa, Big Data
Imperatives, pg. 142-144, 271-273.
[7] Apache Zeppelin, http://hortonworks.com/apache/zeppelin/
[8] Apache Zeppelin as a top level project Software Foundation Announces,
http://zeppelin-project.org/announce/2016/05/18/apache-zeppelin-as-a-top-level-
project.
[9] 2016 Gartner, Inc. and/or its Affiliates,
http://www.gartner.com/technology/about.jsp.
[10] 2013 The Pragmatic Programmers, LLC. book, Jacquelyn Carter (editor),
Potomac Indexing, LLC (indexer), Candace Cunningham (copyeditor), David J Kelly
(typesetter), Janet Furlow (producer), Juliet Benda (rights), Ellie Callahan (support),
101 Design Ingredients to Solve Big Tech Problems..
[11] 2014 Evan Stubbs, by SAS Institute Inc. book , Big Data, Big Innovation.
[12] 2014, SAS Institute Inc., Big Digital Data, Analytic Visualization and the
Opportunity of Digital Intelligence.
[13] 2014 by John Wiley & Sons, Inc. Actionable Intelligence, A Guide to Delivering
Business Results with Big Data Fast.
120
[14] BI Integration Challenges: Data Errors, Big Data and real-time needs.
[15] 2013 by Elizabeth Ferguson Keathley, book Digital Asset Management.
[16] 2013 by Marcelle Kratochvil, book Managing Multimedia and Unstructured Data
in the Oracle Database.
[17] 2014, SAS Institute Inc , Big Digital Data, Analytic Visualization, and the
Opportunity of Digital Intelligence.
[18] Gaining Real-time Visibility, Analysis and Insights across Digital Channels.
[19] 2015 Honeywell Users Group Americas, Driving Digital Intelligence through
Unified Data, Analytics, and Visualization.
[20] 2013 by Dustin Adkison book, IBM Cognos Business Intelligence.
[21] 2010 by Scott Murray, book, Interactive Data Visualization for the Web.
[22] Michael Colman, https://www.digitalthing.com.au/how-big-data-is-shaping-online-
marketing-in-2015/.
[23] Apache Zeppelin: Big data prototyping and visualization in no-time,
https://dataminded.be/blog/apache-zeppelin-big-data-prototyping-and-visualization-
no-time.
[24] Sparklet User Guide, http://mund-consulting.com/Products/Sparklet-User-
Guide.pdf.
[25] Explore Apache Zeppelin UI,
http://zeppelin.apache.org/docs/latest/quickstart/explorezeppelinui.html#explore-
apache-zeppelin-ui.
[26] Interpreters in Apache Zeppelin,
https://zeppelin.apache.org/docs/latest/manual/interpreters.html.
[27] IBM Bluemix Data & Analytics,
https://console.ng.bluemix.net/data/exchange/public/search/%7B%22facets%22:%7
B%22topic%22:%5B%22bdf2bb40152d61d4b6c447a4554d90c0%22%5D%7D%7D
[28] Zeppelin overview, https://www.youtube.com/watch?v=_PQbVH_aO5E.
121
[29] ZeppelinHub Viewer,
https://www.zeppelinhub.com/viewer/notebooks/aHR0cHM6Ly9yYXcuZ2l0aHVidXNl
cmNvbnRlbnQuY29tL0xlZW1vb25zb28vemVwcGVsaW4tZXhhbXBsZXMvbWFzdGV
yLzJCMlhLRkNETS9ub3RlLmpzb24.
[30] Publish paragraph, https://zeppelin.apache.org/docs/latest/manual/publish.html.
[31] Analyzing Minard's Visualization Of Napoleon's 1812 March,
https://robots.thoughtbot.com/analyzing-minards-visualization-of-napoleons-1812-
march, Пристапено 7.5.2018
[32] Shneiderman, B.: The eyes have it: A task by data type taxonomy for information
visualization. In: IEEE Symposium on Visual Language, pp. 336-343 (1996)