Tez Service - Hortonworks

advertisement
Stinger Initiative: Deep Dive
Interactive Query on Hadoop
Chris Harris
E-Mail : charris@hortonworks.com
Twitter : cj_harris5
© Hortonworks Inc. 2013
Page 1
Agenda
• Key Hive Use Cases
• Brief Refresher on Hive
• The Stinger Initiative: Interactive Query for Hive
© Hortonworks Inc. 2013
Page 2
Key Hive Use Cases
• RDBMS / MPP Offload
– More data under query.
– Database unable to keep up with SLAs.
• Analysis of semi-structured data.
• ETL / Data Refinement
• +++ Increasingly: Business Intelligence and
interactive query
© Hortonworks Inc. 2013
Page 3
BI Use Cases
Enterprise Reports
Dashboard / Scorecard
Visualization
© Hortonworks Inc. 2013
Parameterized Reports
Data Mining
Page 4
Organize Tiers and Process with Metadata
Access
Tier
Conform, Summarize, Access
• Organize data
based on
source/derived
relationships
• Allows for fault
and rebuild
process
Pig
HiveQL
Gold
Tier
Transform, Integrate, Storage
Pig
MapReduce
Work
Tier
Standardize, Cleanse, Transform
Pig
MapReduce
HCat
Provides unified
metadata access
to Pig, Hive &
MapReduce
Raw
Tier
Extract & Load
© Hortonworks Inc. 2013
WebHDF
S
Flume
Sqoop
Page 5
Hive Current Focus Area
Real-Time
• Online systems
• R-T analytics
• CEP
NonInteractive
Batch
• Data preparation
• Incremental batch
processing
• Dashboards /
Scorecards
• Operational batch
processing
• Enterprise
Reports
• Data Mining
Interactive
• Parameterized
Reports
• Drilldown
• Visualization
• Exploration
Current Hive Sweet Spot
0-5s
1m – 1h
5s – 1m
1h+
Data Size
© Hortonworks Inc. 2013
Page 6
Stinger: Extending Hive’s Sweetspot
Real-Time
• Online systems
• R-T analytics
• CEP
NonInteractive
Batch
• Data preparation
• Incremental batch
processing
• Dashboards /
Scorecards
• Operational batch
processing
• Enterprise
Reports
• Data Mining
Interactive
• Parameterized
Reports
• Drilldown
• Visualization
• Exploration
Future Hive
Expansion
0-5s
Current Hive Sweet Spot
1m – 1h
5s – 1m
1h+
Data Size
Improve Latency & Throughput
• Query engine improvements
• New “Optimized RCFile” column store
• Next-gen runtime (elim’s M/R latency)
© Hortonworks Inc. 2013
Extend Deep Analytical Ability
• Analytics functions
• Improved SQL coverage
• Continued focus on core Hive use cases
Page 7
The top BI vendors support Hive today
© Hortonworks Inc. 2013
Page 8
Agenda
• Key Hive Use Cases
• Brief Refresher on Hive
• The Stinger Initiative: Interactive Query for Hive
© Hortonworks Inc. 2013
Page 9
Brief Refresher on Hive
The State of Hive Today (0.10)
© Hortonworks Inc. 2013
Page 10
Hive’s Origins
Hive was originally developed at Facebook.
More data than existing RDBMS could handle.
60,000+ Hive queries per day.
More than 1,000 users per day.
100+ PB of data.
15+ TB of data loaded daily.
Hive is a proven solution at extreme scale.
© Hortonworks Inc. 2013
Page 11
Hive 0.10 Capabilities
• De-facto SQL Interface for Hadoop
• Multiple persistence options:
– Flat text for simple data imports.
– Columnar format (RCFile) for high performance processing.
• Secure and concurrent remote access
• ODBC/JDBC connectivity
• Highly extensible:
– Supports User Defined Functions and User Defined Aggregation
Functions.
– Ships with more than 150 UDF/UDAF.
– Extensible readers/writers can process any persisted data.
• Support from 10+ BI vendors
© Hortonworks Inc. 2013
Page 12
HDP 1.2: ODBC Access for Popular BI Tools
• Seamless integration with BI
tools such as Excel, PowerPivot,
MicroStrategy, and Tableau
Applications &
Spreadsheets
Visualization &
Intelligence
• Efficiently maps advanced SQL
functionality into HiveQL
ODBC
Hortonworks
Data Platform
– With configurable pass-through of
HiveQL for Hive-aware apps
• ODBC 3.52 standard compliant
• Supports Linux & Windows
High quality ODBC driver developed in partnership with Simba.
Free to download & use with Hortonworks Data Platform.
© Hortonworks Inc. 2013
Page 13
0 to Big Data in 15 Minutes
Hands on tutorials
integrated into
Sandbox
© Hortonworks Inc. 2013
HDP environment for
evaluation
Page 14
Agenda
• Brief Refresher on Hive
• Key Hive Use Cases
• The Stinger Initiative: Interactive Query for Hive
© Hortonworks Inc. 2013
Page 15
The Stinger Initiative
Interactive Query on Hadoop
© Hortonworks Inc. 2013
Page 16
Stinger Initiative: 2-Pronged Approach
Making Hive Best for Interactive Query
Improve Latency and Throughput
Extend Deep Analytical Ability
Tez
Analytics Functions
• New primitives move beyond map-reduce
and beyond batch
• Avoid unnecessary persistence of
temporary data
• Hive, Pig and others generate Tez plans
for high perf
• SQL:2003 Compliant
• OVER with PARTITION BY and ORDER
BY
• Wide variety of windowing functions:
• RANK
• LEAD/LAG
• ROW_NUMBER
• FIRST_VALUE
• LAST_VALUE
• Many more
• Aligns well with BI ecosystem
Query Engine Improvements
•
•
•
•
Cost-based optimizer
In-memory joins
Caching hot tables
Vector processing
State-of-the-art Column Store
• “Optimized RCFile” or ORCFile
• Minimizes disk IO and deserialization
Improved SQL Coverage
• Non-correlated Subqueries using IN in
WHERE
• Expanded SQL types including
DATETIME, VARCHAR, etc.
Tez Service
• Always-on service for query interactivity
© Hortonworks Inc. 2013
Page 17
Hive: Performance Improvements
© Hortonworks Inc. 2013
Page 18
Stinger Initiative At A Glance
© Hortonworks Inc. 2013
Page 19
Base Optimizations: Intelligent Optimizer
• Introduction of In-Memory Hash Join:
– For joins where one side fits in memory:
– New in-memory-hash-join algorithm.
– Hive reads the small table into a hash table.
– Scans through the big file to produce the output.
• Introduction of Sort-Merge-Bucket Join:
– Applies when tables are bucketed on the same key.
– Dramatic speed improvements seen in benchmarks.
• Other Improvements:
– Lower the footprint of the fact tables in memory.
– Enable the optimizer to automatically pick map joins.
© Hortonworks Inc. 2013
Page 20
Dimensionally Structured Data
• Extremely common pattern in EDW.
• Results in large “fact tables” and small “dimension
tables”.
• Dimension tables often small enough to fit in RAM.
• Sometimes called Star Schema.
© Hortonworks Inc. 2013
Page 21
A Query on Dimensional Data
• Derived from TPC-DS Query 27
SELECT col5, avg(col6)
FROM fact_table
join dim1 on (fact_table.col1
join dim2 on (fact_table.col2
join dim3 on (fact_table.col3
join dim4 on (fact_table.col4
GROUP BY col5
ORDER BY col5
LIMIT 100;
=
=
=
=
dim1.col1)
dim2.col1)
dim3.col1)
dim4.col1)
• Dramatic speedup on Hive 0.11
© Hortonworks Inc. 2013
Page 22
Star Schema Join Improvements in 0.11
© Hortonworks Inc. 2013
Page 23
Hive: Bucketing
• Bucketing causes Hive to physically co-locate rows
within files.
• Buckets can be sorted or unsorted.
CREATE EXTERNAL TABLE IF NOT EXISTS test_table
(
Id INT, name String
)
PARTITIONED BY (dt STRING, hour STRING)
CLUSTERED BY(country,continent) SORTED BY(country,continent) INTO n BUCKETS
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
LOCATION '/home/test_dir';
© Hortonworks Inc. 2013
Page 24
ORCFile - Optimized Column Storage
• Make a better columnar storage file
– Tightly aligned to Hive data model
• Decompose complex row types into primitive fields
– Better compression and projection
• Only read bytes from HDFS for the required columns.
• Store column level aggregates in the files
– Only need to read the file meta information for common queries
– Stored both for file and each section of a file
– Aggregates: min, max, sum, average, count
– Allows fast access by sorted columns
• Ability to add bloom filters for columns
– Enables quick checks for whether a value is present
© Hortonworks Inc. 2013
Page 25
Performance Futures - Vectorization
• Operates on blocks of 1K or more records, rather than
one record at a time
• Each block contains an array of Java scalars, one for
each column
• Avoids many function calls, virtual dispatch, CPU pipeline
stalls
• Size to fit in L1 cache, avoid cache misses
• Generate code for operators on the fly to avoid branches
in code, maximize deep pipelines of modern processers
• Up to 30x faster processing of records
• Beta possible in 2H 2013
© Hortonworks Inc. 2013
Page 26
Performance Futures – Cost-Based
Optimizer
• Generate more intelligent DAGs based on properties of
data being queried, e.g. table size, statistics, histograms,
etc.
© Hortonworks Inc. 2013
Page 27
Performance Futures - Buffering
• Query workloads always have hotspots:
– Metadata
– Small dimension tables
• Build into YARN or Tez Service ways of buffering
frequently used data into memory so it is not always read
from disk.
• Part of the “last mile” of latency efforts.
© Hortonworks Inc. 2013
Page 28
Yarn
Moving Hive and Hadoop beyond MapReduce
© Hortonworks Inc. 2013
Page 29
Hadoop 2.0 Innovations - YARN
• Focus on scale and innovation
– Low latency, Streaming, Services
– Do more with a single Hadoop cluster
© Hortonworks Inc. 2013
Other
• Supports new frameworks beyond
MapReduce
Graph Processing
– Improves MapReduce performance
Tez
• Next generation execution
MapReduce
– Support 10,000+ computer clusters
– Extensible to encourage innovation
YARN: Cluster Resource Management
HDFS
Redundant, Reliable Storage
Tez
Moving Hive and Hadoop beyond MapReduce
© Hortonworks Inc. 2013
Page 31
Tez
• Low level data-processing execution engine
• Use it for the base of MapReduce, Hive, Pig,
Cascading etc.
• Enables pipelining of jobs
• Removes task and job launch times
• Hive and Pig jobs no longer need to move to the end
of the queue between steps in the pipeline
• Does not write intermediate output to HDFS
– Much lighter disk and network usage
• Built on YARN
© Hortonworks Inc. 2013
Page 32
Tez - Core Idea
Task with pluggable Input, Processor & Output
Input
Processor
Output
Task
Tez Task - <Input, Processor, Output>
YARN ApplicationMaster to run DAG of Tez Tasks
© Hortonworks Inc. 2013
Page 33
Tez – Blocks for building tasks
MapReduce ‘Map’
HDFS
Input
Map
Processor
MapReduce ‘Reduce’
Sorted
Output
Shuffle
Input
Reduce
Processor
HDFS
Output
MapReduce ‘Map’ Task
MapReduce ‘Reduce’ Task
Intermediate ‘Reduce’
for
Map-Reduce-Reduce
Shuffle
Input
Reduce
Processor
Sorted
Output
Intermediate ‘Reduce’ for MapReduce-Reduce
© Hortonworks Inc. 2013
Page 34
Tez – More tasks
Special Pig/Hive ‘Map’
HDFS
Input
Map
Processor
In-memory Map
Pipeline
Sorter
Output
HDFSIn
put
Map
Processor
Inmemory
Sorted
Output
Tez Task
Tez Task
Special Pig/Hive
‘Reduce’
Shuffle
Skipmerge
Input
Reduce
Processor
Sorted
Output
Tez Task
© Hortonworks Inc. 2013
Page 35
Pig/Hive-MR versus Pig/Hive-Tez
SELECT a.state, COUNT(*), AVERAGE(c.price)
FROM a
JOIN b ON (a.id = b.id)
JOIN c ON (a.itemId = c.itemId)
GROUP BY a.state
Job 1
Job 2
I/O Synchronization
Barrier
I/O Synchronization
Barrier
Single Job
Job 3
Pig/Hive - MR
© Hortonworks Inc. 2013
Pig/Hive - Tez
Page 36
FastQuery: Beyond Batch with YARN
Tez Generalizes Map-Reduce
Always-On Tez Service
Simplified execution plans process
data more efficiently
Low latency processing for
all Hadoop data processing
© Hortonworks Inc. 2013
Page 37
Tez Service
• MR Query Startup Expensive
– Job launch & task-launch latencies are fatal for short queries (in
order of 5s to 30s)
• Solution
– Tez Service
– Removes task-launch overhead
– Removes job-launch overhead
– Hive/Pig
– Submit query-plan to Tez Service
– Native Hadoop service, not ad-hoc
© Hortonworks Inc. 2013
Page 38
Tez Service Delivers Low Latency
SELECT a.state, COUNT(*), AVERAGE(c.price)
FROM a
JOIN b ON (a.id = b.id)
JOIN c ON (a.itemId = c.itemId)
GROUP BY a.state
Existing Hive
Hive/Tez
Tez and Tez Service
Parse Query
0.5s
Parse Query
0.5s
Parse Query
0.5s
Create Plan
0.5s
Create Plan
0.5s
Create Plan
0.5s
Launch Map-Reduce
20s
Launch Map-Reduce
20s
Submit to Tez Service
0.5s
Process MapReduce
10s
Process MapReduce
2s
Process Map-Reduce
2s
Total
31s
Total
23s
© Hortonworks Inc. 2013
Total
3.5s
* Numbers for illustration only
Page 39
Recap and Questions: Hive Performance
© Hortonworks Inc. 2013
Page 40
Improving Hive’s SQL Support
© Hortonworks Inc. 2013
Page 41
Stinger: Deep Analytical Capabilities
• SQL:2003 Window Functions
– OVER clauses
– Multiple PARTITION BY and ORDER BY supported
– Windowing supported (ROWS PRECEDING/FOLLOWING)
– Large variety of aggregates
– RANK
– FIRST_VALUE
– LAST_VALUE
– LEAD / LAG
– Distrubutions
© Hortonworks Inc. 2013
Page 42
Hive Data Type Conformance
• Data Types:
– Add fixed point NUMERIC and DECIMAL type (in progress)
– Add VARCHAR and CHAR types with limited field size
– Add DATETIME
– Add size ranges from 1 to 53 for FLOAT
– Add synonyms for compatibility
– BLOB for BINARY
– TEXT for STRING
– REAL for FLOAT
• SQL Semantics:
– Sub-queries in IN, NOT IN, HAVING.
– EXISTS and NOT EXISTS
© Hortonworks Inc. 2013
Page 43
Questions?
© Hortonworks Inc. 2013
Page 44
Thank You!
Questions & Answers
© Hortonworks Inc. 2013
Page 45
Download