SlideShare a Scribd company logo
1 of 7
Download to read offline
[HOG]
Unlocking Data for Analysts and Developers
7740 Milestone Parkway, Suite 150
Hanover, Maryland 21076
www.keywcorp.com
2016 copyrighted by the KEYW Corp. All rights reserved.
2HOG
7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076
www.keywcorp.com
2016 copyrighted by the KEYW Corp. All rights reserved.
Table of Contents ::
Introduction				 					 3
Abstract					 				 3
Simple Page					 				 3-4
Complex Page								 4-5
Visualization of Results 		 					 5
Hog as a Learning Tool					 		 5-6
Roadmap 	 		 						 6
Conclusion									 6
Authors 	 		 						 7
About KEYW 		 						 7
3HOG
7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076
www.keywcorp.com
2016 copyrighted by the KEYW Corp. All rights reserved.
Introduction
Apache Pig (Pig) has had a presence in the Open Source community for the better
part of a decade. In recent years, it has been a staple for programmers dealing
with big data and cyber analytics as it is highly efficient in analyzing large data
sets. Despite its popularity, however, there remains a high barrier to entry for
analysts who wish to use it, yet have little-to-no coding abilities necessary for
doing so.
KEYW recognized this need for an integrated development environment (IDE)
where analysts with minimal - or no - coding experience can perform queries.
Enter Hog - KEYW’s IDE with a drag-and-drop interface for functional blocks, and
automatic graphing and tabulation of the outputs from Apache Pig.
KEYW’s Hog allows analysts to directly interact with large data sets without
needing to fully understand Pig development or coding. By utilizing the
functionality of Pig and displaying it in an easily comprehensible user interface,
developers with little-to-no experience using Pig can use Hog to build analytic
scripts that are comparable to those created by traditional Pig script developers.
Hog is a Bridge between Analysts and Developers
Because Hog uses the analysts’ input to create Pig scripts, analysts can work
with developers to further refine those scripts, improve efficiency, and so on.
Analysts can also view the code directly if they wish to learn how to write Pig
scripts themselves, while still being able to go back to the drag-and-drop
interface when necessary.
By bridging this knowledge gap between analytic developers writing Pig scripts
and analysts wanting to manipulate their data through Pig, the pairing of Pig and
Hog results in less time and resources required to develop quality Pig scripts.
Hog is designed as a Node.JS powered website, so it can be deployed almost
anywhere, and uses the locally installed instance of
Pig.
Simple Page
The Simple Page is the centerpiece of Hog. From
this page, users can select the functions (referred to
as nodes) that they wish to apply to their data, and
modify the script, all using a drag-and-drop interface.
Hog provides a wide variety of nodes to choose from,
including Relational Operators, Eval Functions, Load
Store Functions, Load Types, Storage Types and Tuple
Bag Map Functions. The Hog User Manual provides a
complete list of nodes supported by Hog.
Figure 1 Hog loads data from a file selected by the user and passes
it through two separate filters. It then generates the outputs, as
notated in Figure 2.
4HOG
7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076
www.keywcorp.com
2016 copyrighted by the KEYW Corp. All rights reserved.
After creating the Pig
script, users can run it and
view the outputs in various
graph forms. Hog will
classify the outputs into 5
categories: Results, Info
Logs, Warnings, Errors, and
Graphs, as shown in Figure
2. If the user chooses, they
may simply select to show
all outputs. In addition, the
same settings that they
used to create and view
their outputs and scripts
will be saved and carried
over throughout their use
of Hog.
For analysts who do not
know how to create Pig
scripts from scratch,
this page will provide a
simplified way of not only
manipulating their data, but also sorting through various nodes and scripts via
the List feature. List displays every script that the user has created in Hog and
allows them to view, edit or delete as needed. This type of visualization is tailored
for an analyst just beginning to learn Pig.
Complex Page
Though the Simple Page was developed around the idea of helping a novice
Pig script writer, Hog also benefits the experienced Pig script developer. The
Complex Page is where analytic developers can write Pig scripts in a traditional
development environment while benefiting from Hog’s features.
Features of the Complex Page include autocomplete functions and syntax
colorization for usability. Also, unlike the Simple Page, users may upload and
download Pig scripts to/
from the Complex view.
Although the Complex
Page is able to take scripts
created in the Simple view
and modify them, the same
cannot be said for the
Simple Page. If the user
uploads or creates a script
from the Complex Page,
they currently cannot edit
them in the Simple view.
Figure 2 Displays the outputs of a script developed in either the Simple or Complex
Pages. Each type of output is denoted in a unique color representing their classification.
Figure 3 Hog’s Versioning Tool
5HOG
7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076
www.keywcorp.com
2016 copyrighted by the KEYW Corp. All rights reserved.
Editing through the Complex Page will also allow the developer to use the
versioning tool. After an update to the script has been made, the user may
decide to update the version of the script, which would allow them to return
to that version of the script at any point in the future. This feature provides the
developer with a way to review older editions of their code, a useful option for
troubleshooting code.
Visualization of
Results
Hog allows analysts and
developers to run their
scripts through the Hog
interface, and to see the
results in a variety of user-
friendly formats. Results
can always be viewed
directly in tabular form,
but the process of data
analytics typically involves
several phases of analysis,
in which the results of one
phase feed into the next,
and the number of results
gets successively smaller
through the analysis.
Using line graphs and other
outputs can help analysts
to spot the underlying
distribution of data, as well as to find outliers - both of these tasks help in the
development of the next phase of analysis, which can then be added to the script.
When script development and execution, and analysis of the results are all
distinct operations using different tools, this complexity slows down the analyst.
By bringing all of these aspects together, Hog improves the immediacy of the
process, which speeds up development for all users.
Hog as a Learning Tool
Besides the creation of new Pig scripts, Hog enables amateur analysts to learn
how to write Pig in the traditional way.
By toggling between the Simple view to the Complex view, users will be able to
utilize the drag-and-drop functionality and then see how the generated code
develops, allowing them to greater comprehend what it is that they are creating,
and how it runs.
Figure 4 Graphed outputs generated by Hog
6HOG
7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076
www.keywcorp.com
2016 copyrighted by the KEYW Corp. All rights reserved.
This type of application of Hog
would mean more developers with
an understanding of Pig scripts.
Eventually, users who began using
the Simple page to graduate to the
traditional development environment
provided by the Complex Page.
Roadmap
Hog was conceived through a research
and development project by KEYW’s
Cloud Computing Information Services
(CCIS) division. A number of additional
features may be added in future
versions. These include:
•	The ability to build a library of
custom nodes, each representing a
block of source code to be inserted into Pig scripts
•	The ability to develop with the complex page and then see the simple page
representation of that code
•	Side-by-side view showing both Simple and Complex pages, with automatic
update when the script in one of them is changed
•	Integration with Git for more robust version control
Conclusion
Hog’s capabilities benefit all levels of analysts and Pig script developers, from
those who have expertise in the language to those who have never written a
single script.
The Simple Page provides a shortcut for novice developers to learn Pig while still
producing fully functioning scripts. The Complex Page provides a development
environment for traditional Pig developers to work in, allows scripts made in
the Simple view to be tweaked and helps novice developers garner a better
understanding of Pig.
With the Hog application, Pig developers of all levels have a user friendly, end-to-
end solution for writing all of their Pig scripts.
Figure 5 Complex view generated by Simple Page
7HOG
7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076
www.keywcorp.com
2016 copyrighted by the KEYW Corp. All rights reserved.
Authors
Connor Drew is a Technical Writer with CCIS IRaD and served as
the Documentation Lead for the Hog project. He joined KEYW in
the fall of 2015 after graduating from James Madison University in
Harrisonburg, Virginia in 2014 with a Bachelor’s in Writing, Rhetoric
and Technical Communications.
Kevin Coxe is a Software Design Engineer in CCIS IRaD. He started
at KEYW in October of 2015. Kevin is a full stack developer, mainly
working with front-end javascript frameworks such as react and
angular. He graduated from UMBC with his Bachelor’s degree in
Computer Science.
About KEYW
KEYW is a total solutions provider for the Intelligence Community’s toughest
challenges. We support the collection, processing, analysis and dissemination
of information across the full life cycle of the Intelligence Community’s mission.
We employ and challenge the most talented professionals in the industry with
solving such complex problems as preventing cyber threats, transforming data
into intelligence and combating global terrorism. For more information, visit
keywcorp.com.

More Related Content

What's hot

Meetup angular http client
Meetup angular http clientMeetup angular http client
Meetup angular http clientGaurav Madaan
 
IBM Rational Rhapsody support for Microsoft Visual Studio 2015
IBM Rational Rhapsody support for Microsoft Visual Studio 2015IBM Rational Rhapsody support for Microsoft Visual Studio 2015
IBM Rational Rhapsody support for Microsoft Visual Studio 2015Frank Braun
 
Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Sentinel Solutions Ltd
 
Angular 12 brought several new features to the table
Angular 12 brought several new features to the tableAngular 12 brought several new features to the table
Angular 12 brought several new features to the tableMoon Technolabs Pvt. Ltd.
 
MAX 2008 - Building your 1st AIR application
MAX 2008 - Building your 1st AIR applicationMAX 2008 - Building your 1st AIR application
MAX 2008 - Building your 1st AIR applicationrtretola
 
Angular.js vs. vue.js – which one is the better choice in 2022
Angular.js vs. vue.js – which one is the better choice in 2022 Angular.js vs. vue.js – which one is the better choice in 2022
Angular.js vs. vue.js – which one is the better choice in 2022 Moon Technolabs Pvt. Ltd.
 
7 Ways to improve your gradle build
7 Ways to improve your gradle build7 Ways to improve your gradle build
7 Ways to improve your gradle buildTania Pinheiro
 
Angular 8
Angular 8 Angular 8
Angular 8 Sunil OS
 
What do you need to know about g rpc on .net
What do you need to know about g rpc on .net What do you need to know about g rpc on .net
What do you need to know about g rpc on .net Moon Technolabs Pvt. Ltd.
 
Web(abap introduction)
Web(abap introduction)Web(abap introduction)
Web(abap introduction)Kranthi Kumar
 
Angular tutorial
Angular tutorialAngular tutorial
Angular tutorialRohit Gupta
 
Kolkata Salesforce Developer Group Online - Summer '17
Kolkata Salesforce Developer Group Online - Summer '17Kolkata Salesforce Developer Group Online - Summer '17
Kolkata Salesforce Developer Group Online - Summer '17Ashwani Soni
 
Cordova training : Day 1 : Introduction to Cordova
Cordova training : Day 1 : Introduction to CordovaCordova training : Day 1 : Introduction to Cordova
Cordova training : Day 1 : Introduction to CordovaBinu Paul
 
Angular material tutorial
Angular material tutorialAngular material tutorial
Angular material tutorialHarikaReddy115
 
A peek into the world of WordPress plugin development
A peek into the world of WordPress plugin developmentA peek into the world of WordPress plugin development
A peek into the world of WordPress plugin developmentR-Cubed Design Forge
 
CapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOSCapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOSBen Combee
 
Rhomobile 5.5 Release Notes
Rhomobile 5.5 Release NotesRhomobile 5.5 Release Notes
Rhomobile 5.5 Release NotesKonstantin Rybas
 

What's hot (20)

Meetup angular http client
Meetup angular http clientMeetup angular http client
Meetup angular http client
 
IBM Rational Rhapsody support for Microsoft Visual Studio 2015
IBM Rational Rhapsody support for Microsoft Visual Studio 2015IBM Rational Rhapsody support for Microsoft Visual Studio 2015
IBM Rational Rhapsody support for Microsoft Visual Studio 2015
 
Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]Titanium Studio [Updated - 18/12/2011]
Titanium Studio [Updated - 18/12/2011]
 
As pnet
As pnetAs pnet
As pnet
 
Xamarin Development
Xamarin DevelopmentXamarin Development
Xamarin Development
 
Angular 12 brought several new features to the table
Angular 12 brought several new features to the tableAngular 12 brought several new features to the table
Angular 12 brought several new features to the table
 
MAX 2008 - Building your 1st AIR application
MAX 2008 - Building your 1st AIR applicationMAX 2008 - Building your 1st AIR application
MAX 2008 - Building your 1st AIR application
 
Angular.js vs. vue.js – which one is the better choice in 2022
Angular.js vs. vue.js – which one is the better choice in 2022 Angular.js vs. vue.js – which one is the better choice in 2022
Angular.js vs. vue.js – which one is the better choice in 2022
 
7 Ways to improve your gradle build
7 Ways to improve your gradle build7 Ways to improve your gradle build
7 Ways to improve your gradle build
 
Angular 8
Angular 8 Angular 8
Angular 8
 
What do you need to know about g rpc on .net
What do you need to know about g rpc on .net What do you need to know about g rpc on .net
What do you need to know about g rpc on .net
 
Web(abap introduction)
Web(abap introduction)Web(abap introduction)
Web(abap introduction)
 
Angular tutorial
Angular tutorialAngular tutorial
Angular tutorial
 
Kolkata Salesforce Developer Group Online - Summer '17
Kolkata Salesforce Developer Group Online - Summer '17Kolkata Salesforce Developer Group Online - Summer '17
Kolkata Salesforce Developer Group Online - Summer '17
 
Rhomobile roadmap
Rhomobile roadmapRhomobile roadmap
Rhomobile roadmap
 
Cordova training : Day 1 : Introduction to Cordova
Cordova training : Day 1 : Introduction to CordovaCordova training : Day 1 : Introduction to Cordova
Cordova training : Day 1 : Introduction to Cordova
 
Angular material tutorial
Angular material tutorialAngular material tutorial
Angular material tutorial
 
A peek into the world of WordPress plugin development
A peek into the world of WordPress plugin developmentA peek into the world of WordPress plugin development
A peek into the world of WordPress plugin development
 
CapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOSCapitolJS: Enyo, Node.js, & the State of webOS
CapitolJS: Enyo, Node.js, & the State of webOS
 
Rhomobile 5.5 Release Notes
Rhomobile 5.5 Release NotesRhomobile 5.5 Release Notes
Rhomobile 5.5 Release Notes
 

Similar to Unlocking Data for Analysts & Developers

10 Important Web Development Tools Every Developer Should Know.pdf
10 Important Web Development Tools Every Developer Should Know.pdf10 Important Web Development Tools Every Developer Should Know.pdf
10 Important Web Development Tools Every Developer Should Know.pdfCodevelop us
 
Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023ZimbleCodeAustralia
 
Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018Helios Solutions
 
web development ppt by prakash bedage
web development ppt by prakash bedageweb development ppt by prakash bedage
web development ppt by prakash bedagePrakashBedage
 
web development project prakash.pptx
web development project prakash.pptxweb development project prakash.pptx
web development project prakash.pptxPrakashBedage
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Alaina Carter
 
A Complete Guide To Progressive Web App.pdf
A Complete Guide To Progressive Web App.pdfA Complete Guide To Progressive Web App.pdf
A Complete Guide To Progressive Web App.pdfCerebrum Infotech
 
10 Useful Front End Development Tools for Web Apps | 2020
10 Useful Front End Development Tools for Web Apps | 202010 Useful Front End Development Tools for Web Apps | 2020
10 Useful Front End Development Tools for Web Apps | 2020Claritus Consulting
 
7 useful websites for front end developers.pdf
7 useful websites for front end developers.pdf7 useful websites for front end developers.pdf
7 useful websites for front end developers.pdfpreeti katiyar
 
5 Powerful Backend Frameworks for Web App Development in 2022
5 Powerful Backend Frameworks for Web App Development in 20225 Powerful Backend Frameworks for Web App Development in 2022
5 Powerful Backend Frameworks for Web App Development in 202275waytechnologies
 
How to build and deploy app on Replit
How to build and deploy app on ReplitHow to build and deploy app on Replit
How to build and deploy app on Replitmatiasfund
 
Welcome To CNC Web World.pdf
Welcome To CNC Web World.pdfWelcome To CNC Web World.pdf
Welcome To CNC Web World.pdfCNC Web world
 
Popular App Development Frameworks used by App Developers.
Popular App Development Frameworks used by App Developers.Popular App Development Frameworks used by App Developers.
Popular App Development Frameworks used by App Developers.Techugo
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxchitrachauhan21
 
Top frontend web development tools
Top frontend web development toolsTop frontend web development tools
Top frontend web development toolsBenji Harrison
 
Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Shelly Megan
 

Similar to Unlocking Data for Analysts & Developers (20)

10 Important Web Development Tools Every Developer Should Know.pdf
10 Important Web Development Tools Every Developer Should Know.pdf10 Important Web Development Tools Every Developer Should Know.pdf
10 Important Web Development Tools Every Developer Should Know.pdf
 
Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023Top Backend Frameworks for Mobile App Development in 2023
Top Backend Frameworks for Mobile App Development in 2023
 
Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018Top 10 Front End Development Technologies to Focus in 2018
Top 10 Front End Development Technologies to Focus in 2018
 
SEO packages Dubai
SEO packages DubaiSEO packages Dubai
SEO packages Dubai
 
SEO consultant Dubai
SEO consultant DubaiSEO consultant Dubai
SEO consultant Dubai
 
web development ppt by prakash bedage
web development ppt by prakash bedageweb development ppt by prakash bedage
web development ppt by prakash bedage
 
web development project prakash.pptx
web development project prakash.pptxweb development project prakash.pptx
web development project prakash.pptx
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020
 
A Complete Guide To Progressive Web App.pdf
A Complete Guide To Progressive Web App.pdfA Complete Guide To Progressive Web App.pdf
A Complete Guide To Progressive Web App.pdf
 
10 Useful Front End Development Tools for Web Apps | 2020
10 Useful Front End Development Tools for Web Apps | 202010 Useful Front End Development Tools for Web Apps | 2020
10 Useful Front End Development Tools for Web Apps | 2020
 
7 useful websites for front end developers.pdf
7 useful websites for front end developers.pdf7 useful websites for front end developers.pdf
7 useful websites for front end developers.pdf
 
5 Powerful Backend Frameworks for Web App Development in 2022
5 Powerful Backend Frameworks for Web App Development in 20225 Powerful Backend Frameworks for Web App Development in 2022
5 Powerful Backend Frameworks for Web App Development in 2022
 
How to build and deploy app on Replit
How to build and deploy app on ReplitHow to build and deploy app on Replit
How to build and deploy app on Replit
 
A Complete Guide to Python Web Development
A Complete Guide to Python Web DevelopmentA Complete Guide to Python Web Development
A Complete Guide to Python Web Development
 
Welcome To CNC Web World.pdf
Welcome To CNC Web World.pdfWelcome To CNC Web World.pdf
Welcome To CNC Web World.pdf
 
7 Amazing Flutter App Development Tools
7 Amazing Flutter App Development Tools7 Amazing Flutter App Development Tools
7 Amazing Flutter App Development Tools
 
Popular App Development Frameworks used by App Developers.
Popular App Development Frameworks used by App Developers.Popular App Development Frameworks used by App Developers.
Popular App Development Frameworks used by App Developers.
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Top frontend web development tools
Top frontend web development toolsTop frontend web development tools
Top frontend web development tools
 
Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Unlocking Data for Analysts & Developers

  • 1. [HOG] Unlocking Data for Analysts and Developers 7740 Milestone Parkway, Suite 150 Hanover, Maryland 21076 www.keywcorp.com 2016 copyrighted by the KEYW Corp. All rights reserved.
  • 2. 2HOG 7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076 www.keywcorp.com 2016 copyrighted by the KEYW Corp. All rights reserved. Table of Contents :: Introduction 3 Abstract 3 Simple Page 3-4 Complex Page 4-5 Visualization of Results 5 Hog as a Learning Tool 5-6 Roadmap 6 Conclusion 6 Authors 7 About KEYW 7
  • 3. 3HOG 7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076 www.keywcorp.com 2016 copyrighted by the KEYW Corp. All rights reserved. Introduction Apache Pig (Pig) has had a presence in the Open Source community for the better part of a decade. In recent years, it has been a staple for programmers dealing with big data and cyber analytics as it is highly efficient in analyzing large data sets. Despite its popularity, however, there remains a high barrier to entry for analysts who wish to use it, yet have little-to-no coding abilities necessary for doing so. KEYW recognized this need for an integrated development environment (IDE) where analysts with minimal - or no - coding experience can perform queries. Enter Hog - KEYW’s IDE with a drag-and-drop interface for functional blocks, and automatic graphing and tabulation of the outputs from Apache Pig. KEYW’s Hog allows analysts to directly interact with large data sets without needing to fully understand Pig development or coding. By utilizing the functionality of Pig and displaying it in an easily comprehensible user interface, developers with little-to-no experience using Pig can use Hog to build analytic scripts that are comparable to those created by traditional Pig script developers. Hog is a Bridge between Analysts and Developers Because Hog uses the analysts’ input to create Pig scripts, analysts can work with developers to further refine those scripts, improve efficiency, and so on. Analysts can also view the code directly if they wish to learn how to write Pig scripts themselves, while still being able to go back to the drag-and-drop interface when necessary. By bridging this knowledge gap between analytic developers writing Pig scripts and analysts wanting to manipulate their data through Pig, the pairing of Pig and Hog results in less time and resources required to develop quality Pig scripts. Hog is designed as a Node.JS powered website, so it can be deployed almost anywhere, and uses the locally installed instance of Pig. Simple Page The Simple Page is the centerpiece of Hog. From this page, users can select the functions (referred to as nodes) that they wish to apply to their data, and modify the script, all using a drag-and-drop interface. Hog provides a wide variety of nodes to choose from, including Relational Operators, Eval Functions, Load Store Functions, Load Types, Storage Types and Tuple Bag Map Functions. The Hog User Manual provides a complete list of nodes supported by Hog. Figure 1 Hog loads data from a file selected by the user and passes it through two separate filters. It then generates the outputs, as notated in Figure 2.
  • 4. 4HOG 7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076 www.keywcorp.com 2016 copyrighted by the KEYW Corp. All rights reserved. After creating the Pig script, users can run it and view the outputs in various graph forms. Hog will classify the outputs into 5 categories: Results, Info Logs, Warnings, Errors, and Graphs, as shown in Figure 2. If the user chooses, they may simply select to show all outputs. In addition, the same settings that they used to create and view their outputs and scripts will be saved and carried over throughout their use of Hog. For analysts who do not know how to create Pig scripts from scratch, this page will provide a simplified way of not only manipulating their data, but also sorting through various nodes and scripts via the List feature. List displays every script that the user has created in Hog and allows them to view, edit or delete as needed. This type of visualization is tailored for an analyst just beginning to learn Pig. Complex Page Though the Simple Page was developed around the idea of helping a novice Pig script writer, Hog also benefits the experienced Pig script developer. The Complex Page is where analytic developers can write Pig scripts in a traditional development environment while benefiting from Hog’s features. Features of the Complex Page include autocomplete functions and syntax colorization for usability. Also, unlike the Simple Page, users may upload and download Pig scripts to/ from the Complex view. Although the Complex Page is able to take scripts created in the Simple view and modify them, the same cannot be said for the Simple Page. If the user uploads or creates a script from the Complex Page, they currently cannot edit them in the Simple view. Figure 2 Displays the outputs of a script developed in either the Simple or Complex Pages. Each type of output is denoted in a unique color representing their classification. Figure 3 Hog’s Versioning Tool
  • 5. 5HOG 7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076 www.keywcorp.com 2016 copyrighted by the KEYW Corp. All rights reserved. Editing through the Complex Page will also allow the developer to use the versioning tool. After an update to the script has been made, the user may decide to update the version of the script, which would allow them to return to that version of the script at any point in the future. This feature provides the developer with a way to review older editions of their code, a useful option for troubleshooting code. Visualization of Results Hog allows analysts and developers to run their scripts through the Hog interface, and to see the results in a variety of user- friendly formats. Results can always be viewed directly in tabular form, but the process of data analytics typically involves several phases of analysis, in which the results of one phase feed into the next, and the number of results gets successively smaller through the analysis. Using line graphs and other outputs can help analysts to spot the underlying distribution of data, as well as to find outliers - both of these tasks help in the development of the next phase of analysis, which can then be added to the script. When script development and execution, and analysis of the results are all distinct operations using different tools, this complexity slows down the analyst. By bringing all of these aspects together, Hog improves the immediacy of the process, which speeds up development for all users. Hog as a Learning Tool Besides the creation of new Pig scripts, Hog enables amateur analysts to learn how to write Pig in the traditional way. By toggling between the Simple view to the Complex view, users will be able to utilize the drag-and-drop functionality and then see how the generated code develops, allowing them to greater comprehend what it is that they are creating, and how it runs. Figure 4 Graphed outputs generated by Hog
  • 6. 6HOG 7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076 www.keywcorp.com 2016 copyrighted by the KEYW Corp. All rights reserved. This type of application of Hog would mean more developers with an understanding of Pig scripts. Eventually, users who began using the Simple page to graduate to the traditional development environment provided by the Complex Page. Roadmap Hog was conceived through a research and development project by KEYW’s Cloud Computing Information Services (CCIS) division. A number of additional features may be added in future versions. These include: • The ability to build a library of custom nodes, each representing a block of source code to be inserted into Pig scripts • The ability to develop with the complex page and then see the simple page representation of that code • Side-by-side view showing both Simple and Complex pages, with automatic update when the script in one of them is changed • Integration with Git for more robust version control Conclusion Hog’s capabilities benefit all levels of analysts and Pig script developers, from those who have expertise in the language to those who have never written a single script. The Simple Page provides a shortcut for novice developers to learn Pig while still producing fully functioning scripts. The Complex Page provides a development environment for traditional Pig developers to work in, allows scripts made in the Simple view to be tweaked and helps novice developers garner a better understanding of Pig. With the Hog application, Pig developers of all levels have a user friendly, end-to- end solution for writing all of their Pig scripts. Figure 5 Complex view generated by Simple Page
  • 7. 7HOG 7740 Milestone Parkway, Suite 150 | Hanover, Maryland 21076 www.keywcorp.com 2016 copyrighted by the KEYW Corp. All rights reserved. Authors Connor Drew is a Technical Writer with CCIS IRaD and served as the Documentation Lead for the Hog project. He joined KEYW in the fall of 2015 after graduating from James Madison University in Harrisonburg, Virginia in 2014 with a Bachelor’s in Writing, Rhetoric and Technical Communications. Kevin Coxe is a Software Design Engineer in CCIS IRaD. He started at KEYW in October of 2015. Kevin is a full stack developer, mainly working with front-end javascript frameworks such as react and angular. He graduated from UMBC with his Bachelor’s degree in Computer Science. About KEYW KEYW is a total solutions provider for the Intelligence Community’s toughest challenges. We support the collection, processing, analysis and dissemination of information across the full life cycle of the Intelligence Community’s mission. We employ and challenge the most talented professionals in the industry with solving such complex problems as preventing cyber threats, transforming data into intelligence and combating global terrorism. For more information, visit keywcorp.com.