SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
HPCC JDBC Driver

Rodrigo Pastrana
Leverage data in HPCC via SQL?

•
•
•
•

HPCC queries typically written in the powerful ECL language
Data accessed via raw ECL or published ECL queries
Currently existing SQL queries would require translation
Many existing SQL based tools cannot easily access HPCC
HPCC System
ESP

ECL

Web
Services

RecDef := RECORD
unsigned8 id;
string15 fname;
END;
Tbl := DATASET(‘file’,
RecDef, FLAT);
OUTPUT(Tbl);

SQL

Select
mytable.id,
mytable.fname
from table as
mytable

? ?
?
?

Thor

Roxie

...
...
...
...
...
...

HPCC JDBC Driver

2
HPCC JDBC Driver – the missing piece is now available!
• JDBC Driver for HPCC provides clean SQL-based interface into HPCC Systems
• Many feature-rich JDBC clients are available and can now connect to HPCC
• Many existing SQL-based processes can now target HPCC data
SQL

Select
mytable.id,
mytable.fname
from table as
mytable;

…

JDBC
Client

JDBC
Driver

HPCC
Systems

HPCC JDBC Driver

3
What can be done with the HPCC JDBC Driver?

• Analyze HPCC data via many JDBC clients
• Utilize simple SQL SELECT or CALL syntax
• Access HPCC data files as DB Tables
• Access published ECL queries as DB Stored Procedures

• Harnesses the full power of HPCC under the covers
• Submitted SQL request generates dynamic ECL code
• Queries are executed on the high performance clusters
• Automatic Index fetching capabilities for quicker data fetches available

• Provides entry-point for programmatic data access
• Custom Java programs can easily leverage HPCC data

• Leverage HPCC data and JDBC client functionality without need
to learn and write ECL!
HPCC JDBC Driver

4
Phase 1 – Thick JDBC Driver

JDBC Client
getTables()
getProcs()
…

HPCC JDBC Driver
MetaData
Management

SQL Parser

HPCC System
Existing Web
Services

Roxie
...
...

Data File
&
Published
Query Info

...
Thor

execQuery()
…
getResultSet()

ECL Code
Generator
Data
Encapsulation
and Delivery

ECL
Execute

...
...
...

HPCC JDBC Driver

5
Phase 1 – Thick JDBC Driver

• Provides SQL interface for HPCC!
• Driver is responsible for SQL parsing and ECL code generation
• Existing HPCC Web Services utilized for metadata fetch, and ECL
query submission
• Backward compatible with older HPCC versions
• Available now
• http://www.hpccsystems.com – Downloads, documentation, notes.
• https://github.com/hpcc-systems/HPCC-Platform/hpcc-jdbc - Source

HPCC JDBC Driver

6
Phase 2 – Thin JDBC Driver – Dedicated Web service

JDBC Client

HPCC JDBC Driver

HPCC System
WS_SQL

getTables()
getProcs()
…

MetaData
Manager

Fast
Metadata
fetch
Method
SQL
Parser

execQuery()
…
getResultSet()

Query
Cache
Data
Encapsulation
and Delivery

Roxie

ECL
Generator

...
...
...
Thor
...
...
...

HPCC JDBC Driver

7
Phase 2 – Thin JDBC Driver – Dedicated Web service

• Major performance improvements
• Delegates SQL processing and ECL generation to back-end
server
• Utilizes internal query compilation tracking mechanism
• Provides means for compiled query re-use
• Allows result fetch on previously executed queries
• Introduces paged result set fetch

• Introduces SQL query caching on back-end
• SQL normalized and mapped to compiled/executed ECL query

• Available – very soon.

HPCC JDBC Driver

8
Can SQL entirely replace ECL on HPCC?

• No, ECL is very powerful and cannot be replaced by SQL
• Production level process should be published ECL Query based

• Subset of Read-only SQL operations supported
• Data updates must be performed via ECL or dedicated interfaces
• Powerful published ECL queries accessed via SQL call commands
• SQL based processes can make use of published ECL queries

HPCC JDBC Driver

9
HPCC system view via JDBC client

HPCC published queries
listed as stored procedures

HPCC Files content
easily fetched

HPCC Data files listed
as tables
HPCC File Metadata is
available

HPCC Files column
information is available
HPCC JDBC Driver

10
HPCC data view via JDBC Client

Freehand SQL input

“Overview” layout for
Easy data analysis

Data statistics
displayed in “fly-over”

HPCC JDBC Driver

11
SQL Syntax supported

• SQL CALL: call queryname ([param list])
• Example: call MyHPCCStoredProcedure(33024)

• SQL SELECT: select colummList from tableName [as alias]
[USE INDEX(indexFileName | 0 )] [where filterCondition]
[group by fieldName] [order by columnNames [asc | desc] ]
[LIMIT limitNumber]
• Example: select city, zip , COUNT(zip) from tutorial::rjp:tutorialperson
where zip > '33440' group by zip limit 100

• SQL SELECT Join: select colummList from tableName
[<outer | inner > JOIN join TableName [ as alias] on
joinCondition]
• Example: select t1.person, t2.address from persontable as t1
inner join addresstable as t2 on t1.personid = t2.personid
HPCC JDBC Driver

12
Sample programmatic query (JAVA)

HPCC JDBC Driver

13
Miscellaneous

• Driver provided as a single JAR file
• Feature set is growing and improving
• Package and documentation:
• http://hpccsystems.com/products-and-services/products/plugins/JDBC-Driver

• Source code and issue tracker:
•

https://github.com/hpcc-systems/hpcc-jdbc

• Questions and discussions:
• http://hpccsystems.com/bb/viewforum.php?f=34&sid=8b5b0f7b5a621ece8abac
036067d9db0

• Listen to the HPCC JDBC Driver podcast:
• http://cdn.hpccsystems.com/podcasts/2013_1001_JDBC.mp3

• Feedback is welcomed and encouraged!
• Join our community at http://hpccsystems.com

HPCC JDBC Driver

14

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Presentation day1oracle 12c
Presentation day1oracle 12cPresentation day1oracle 12c
Presentation day1oracle 12c
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)
 
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
Presto Testing Tools: Benchto & Tempto (Presto Boston Meetup 10062015)
 
Oracle Database 12c : Multitenant
Oracle Database 12c : MultitenantOracle Database 12c : Multitenant
Oracle Database 12c : Multitenant
 
Presentation oracle net services
Presentation    oracle net servicesPresentation    oracle net services
Presentation oracle net services
 
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
 
Moving Graphs to Production At Scale
Moving Graphs to Production At ScaleMoving Graphs to Production At Scale
Moving Graphs to Production At Scale
 
Create a Database Application Development Environment with Docker
Create a Database Application Development Environment with DockerCreate a Database Application Development Environment with Docker
Create a Database Application Development Environment with Docker
 
Oracle database 12c introduction- Satyendra Pasalapudi
Oracle database 12c introduction- Satyendra PasalapudiOracle database 12c introduction- Satyendra Pasalapudi
Oracle database 12c introduction- Satyendra Pasalapudi
 
How to scale your web app
How to scale your web appHow to scale your web app
How to scale your web app
 
Habits of Effective Sqoop Users
Habits of Effective Sqoop UsersHabits of Effective Sqoop Users
Habits of Effective Sqoop Users
 
Oracle 12c Architecture
Oracle 12c ArchitectureOracle 12c Architecture
Oracle 12c Architecture
 
PHP Oracle
PHP OraclePHP Oracle
PHP Oracle
 
Oracle 12c PDB insights
Oracle 12c PDB insightsOracle 12c PDB insights
Oracle 12c PDB insights
 
Aioug connection poolsizingconcepts
Aioug connection poolsizingconceptsAioug connection poolsizingconcepts
Aioug connection poolsizingconcepts
 
Oracle 12.2 sharded database management
Oracle 12.2 sharded database managementOracle 12.2 sharded database management
Oracle 12.2 sharded database management
 
Oracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationOracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for Consolidation
 
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John NaylorPGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
 
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...Oracle Database 12c Release 2 - New Features On Oracle Database Exadata  Expr...
Oracle Database 12c Release 2 - New Features On Oracle Database Exadata Expr...
 

Andere mochten auch

2.2 task format
2.2 task format2.2 task format
2.2 task format
Tony Perez
 
The Complete Web Design Strategy Checklist
The Complete Web Design Strategy ChecklistThe Complete Web Design Strategy Checklist
The Complete Web Design Strategy Checklist
BrightIdeas.co
 
Introduction to Inbound Marketing
Introduction to Inbound MarketingIntroduction to Inbound Marketing
Introduction to Inbound Marketing
BrightIdeas.co
 
Pages 147 to 158
Pages 147 to 158Pages 147 to 158
Pages 147 to 158
catapaca
 
Blogger
BloggerBlogger
Blogger
urip97
 
Power point narrative writing-tips
Power point  narrative writing-tipsPower point  narrative writing-tips
Power point narrative writing-tips
thanarajah
 

Andere mochten auch (20)

Whats the point of learning this?
Whats the point of learning this?Whats the point of learning this?
Whats the point of learning this?
 
Il condizionale-Basico 2
Il condizionale-Basico 2Il condizionale-Basico 2
Il condizionale-Basico 2
 
информационная система для избирательных технологий
информационная система для избирательных технологийинформационная система для избирательных технологий
информационная система для избирательных технологий
 
Grab the latest Offer ,save upto 29% on any courses
Grab the latest Offer ,save upto 29% on any coursesGrab the latest Offer ,save upto 29% on any courses
Grab the latest Offer ,save upto 29% on any courses
 
Presentación inglés numbers
Presentación inglés numbersPresentación inglés numbers
Presentación inglés numbers
 
LEVICK Weekly - Sept 7 2012
LEVICK Weekly - Sept 7 2012LEVICK Weekly - Sept 7 2012
LEVICK Weekly - Sept 7 2012
 
2.2 task format
2.2 task format2.2 task format
2.2 task format
 
Bears
BearsBears
Bears
 
Spek komputer
Spek komputerSpek komputer
Spek komputer
 
Presentation1
Presentation1Presentation1
Presentation1
 
The Complete Web Design Strategy Checklist
The Complete Web Design Strategy ChecklistThe Complete Web Design Strategy Checklist
The Complete Web Design Strategy Checklist
 
Mecanicas
MecanicasMecanicas
Mecanicas
 
Curiosidades
CuriosidadesCuriosidades
Curiosidades
 
Introduction to Inbound Marketing
Introduction to Inbound MarketingIntroduction to Inbound Marketing
Introduction to Inbound Marketing
 
Pages 147 to 158
Pages 147 to 158Pages 147 to 158
Pages 147 to 158
 
Blogger
BloggerBlogger
Blogger
 
Memetika 2012
Memetika 2012Memetika 2012
Memetika 2012
 
Film studio research
Film studio researchFilm studio research
Film studio research
 
7 can ban assembly35
7 can ban assembly357 can ban assembly35
7 can ban assembly35
 
Power point narrative writing-tips
Power point  narrative writing-tipsPower point  narrative writing-tips
Power point narrative writing-tips
 

Ähnlich wie HPCC Systems JDBC Driver

Ähnlich wie HPCC Systems JDBC Driver (20)

java database connectivity for java programming
java database connectivity for java programmingjava database connectivity for java programming
java database connectivity for java programming
 
20170126 big data processing
20170126 big data processing20170126 big data processing
20170126 big data processing
 
Database Driven OpenCL Programming by Tim Child
Database Driven OpenCL Programming by Tim ChildDatabase Driven OpenCL Programming by Tim Child
Database Driven OpenCL Programming by Tim Child
 
A First Look at HPCC Systems 7.0, Innovation in Action
A First Look at HPCC Systems 7.0, Innovation in ActionA First Look at HPCC Systems 7.0, Innovation in Action
A First Look at HPCC Systems 7.0, Innovation in Action
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational Controls
 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12
 
Ibi Open Visualizations
Ibi Open VisualizationsIbi Open Visualizations
Ibi Open Visualizations
 
Meetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbcMeetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbc
 
SQL on Hadoop
SQL on HadoopSQL on Hadoop
SQL on Hadoop
 
Replicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analyticsReplicate from Oracle to data warehouses and analytics
Replicate from Oracle to data warehouses and analytics
 
SQLcl the next generation of SQLPlus?
SQLcl the next generation of SQLPlus?SQLcl the next generation of SQLPlus?
SQLcl the next generation of SQLPlus?
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)
 
Innovation with Connection, The new HPCC Systems Plugins and Modules
Innovation with Connection, The new HPCC Systems Plugins and ModulesInnovation with Connection, The new HPCC Systems Plugins and Modules
Innovation with Connection, The new HPCC Systems Plugins and Modules
 
Orms vs Micro-ORMs
Orms vs Micro-ORMsOrms vs Micro-ORMs
Orms vs Micro-ORMs
 
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBCBI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
 
Informatica slides
Informatica slidesInformatica slides
Informatica slides
 
Sqoop on Spark for Data Ingestion
Sqoop on Spark for Data IngestionSqoop on Spark for Data Ingestion
Sqoop on Spark for Data Ingestion
 
HPCC Systems 6.0.0 Highlights
HPCC Systems 6.0.0 HighlightsHPCC Systems 6.0.0 Highlights
HPCC Systems 6.0.0 Highlights
 
Tech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on LinuxTech-Spark: SQL Server on Linux
Tech-Spark: SQL Server on Linux
 
User Group3009
User Group3009User Group3009
User Group3009
 

Mehr von HPCC Systems

Leveraging Intra-Node Parallelization in HPCC Systems
Leveraging Intra-Node Parallelization in HPCC SystemsLeveraging Intra-Node Parallelization in HPCC Systems
Leveraging Intra-Node Parallelization in HPCC Systems
HPCC Systems
 

Mehr von HPCC Systems (20)

Natural Language to SQL Query conversion using Machine Learning Techniques on...
Natural Language to SQL Query conversion using Machine Learning Techniques on...Natural Language to SQL Query conversion using Machine Learning Techniques on...
Natural Language to SQL Query conversion using Machine Learning Techniques on...
 
Improving Efficiency of Machine Learning Algorithms using HPCC Systems
Improving Efficiency of Machine Learning Algorithms using HPCC SystemsImproving Efficiency of Machine Learning Algorithms using HPCC Systems
Improving Efficiency of Machine Learning Algorithms using HPCC Systems
 
Towards Trustable AI for Complex Systems
Towards Trustable AI for Complex SystemsTowards Trustable AI for Complex Systems
Towards Trustable AI for Complex Systems
 
Welcome
WelcomeWelcome
Welcome
 
Closing / Adjourn
Closing / Adjourn Closing / Adjourn
Closing / Adjourn
 
Community Website: Virtual Ribbon Cutting
Community Website: Virtual Ribbon CuttingCommunity Website: Virtual Ribbon Cutting
Community Website: Virtual Ribbon Cutting
 
Path to 8.0
Path to 8.0 Path to 8.0
Path to 8.0
 
Release Cycle Changes
Release Cycle ChangesRelease Cycle Changes
Release Cycle Changes
 
Geohashing with Uber’s H3 Geospatial Index
Geohashing with Uber’s H3 Geospatial Index Geohashing with Uber’s H3 Geospatial Index
Geohashing with Uber’s H3 Geospatial Index
 
Advancements in HPCC Systems Machine Learning
Advancements in HPCC Systems Machine LearningAdvancements in HPCC Systems Machine Learning
Advancements in HPCC Systems Machine Learning
 
Docker Support
Docker Support Docker Support
Docker Support
 
Expanding HPCC Systems Deep Neural Network Capabilities
Expanding HPCC Systems Deep Neural Network CapabilitiesExpanding HPCC Systems Deep Neural Network Capabilities
Expanding HPCC Systems Deep Neural Network Capabilities
 
Leveraging Intra-Node Parallelization in HPCC Systems
Leveraging Intra-Node Parallelization in HPCC SystemsLeveraging Intra-Node Parallelization in HPCC Systems
Leveraging Intra-Node Parallelization in HPCC Systems
 
DataPatterns - Profiling in ECL Watch
DataPatterns - Profiling in ECL Watch DataPatterns - Profiling in ECL Watch
DataPatterns - Profiling in ECL Watch
 
Leveraging the Spark-HPCC Ecosystem
Leveraging the Spark-HPCC Ecosystem Leveraging the Spark-HPCC Ecosystem
Leveraging the Spark-HPCC Ecosystem
 
Work Unit Analysis Tool
Work Unit Analysis ToolWork Unit Analysis Tool
Work Unit Analysis Tool
 
Community Award Ceremony
Community Award Ceremony Community Award Ceremony
Community Award Ceremony
 
Dapper Tool - A Bundle to Make your ECL Neater
Dapper Tool - A Bundle to Make your ECL NeaterDapper Tool - A Bundle to Make your ECL Neater
Dapper Tool - A Bundle to Make your ECL Neater
 
A Success Story of Challenging the Status Quo: Gadget Girls and the Inclusion...
A Success Story of Challenging the Status Quo: Gadget Girls and the Inclusion...A Success Story of Challenging the Status Quo: Gadget Girls and the Inclusion...
A Success Story of Challenging the Status Quo: Gadget Girls and the Inclusion...
 
Beyond the Spectrum – Creating an Environment of Diversity and Empowerment wi...
Beyond the Spectrum – Creating an Environment of Diversity and Empowerment wi...Beyond the Spectrum – Creating an Environment of Diversity and Empowerment wi...
Beyond the Spectrum – Creating an Environment of Diversity and Empowerment wi...
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

HPCC Systems JDBC Driver

  • 2. Leverage data in HPCC via SQL? • • • • HPCC queries typically written in the powerful ECL language Data accessed via raw ECL or published ECL queries Currently existing SQL queries would require translation Many existing SQL based tools cannot easily access HPCC HPCC System ESP ECL Web Services RecDef := RECORD unsigned8 id; string15 fname; END; Tbl := DATASET(‘file’, RecDef, FLAT); OUTPUT(Tbl); SQL Select mytable.id, mytable.fname from table as mytable ? ? ? ? Thor Roxie ... ... ... ... ... ... HPCC JDBC Driver 2
  • 3. HPCC JDBC Driver – the missing piece is now available! • JDBC Driver for HPCC provides clean SQL-based interface into HPCC Systems • Many feature-rich JDBC clients are available and can now connect to HPCC • Many existing SQL-based processes can now target HPCC data SQL Select mytable.id, mytable.fname from table as mytable; … JDBC Client JDBC Driver HPCC Systems HPCC JDBC Driver 3
  • 4. What can be done with the HPCC JDBC Driver? • Analyze HPCC data via many JDBC clients • Utilize simple SQL SELECT or CALL syntax • Access HPCC data files as DB Tables • Access published ECL queries as DB Stored Procedures • Harnesses the full power of HPCC under the covers • Submitted SQL request generates dynamic ECL code • Queries are executed on the high performance clusters • Automatic Index fetching capabilities for quicker data fetches available • Provides entry-point for programmatic data access • Custom Java programs can easily leverage HPCC data • Leverage HPCC data and JDBC client functionality without need to learn and write ECL! HPCC JDBC Driver 4
  • 5. Phase 1 – Thick JDBC Driver JDBC Client getTables() getProcs() … HPCC JDBC Driver MetaData Management SQL Parser HPCC System Existing Web Services Roxie ... ... Data File & Published Query Info ... Thor execQuery() … getResultSet() ECL Code Generator Data Encapsulation and Delivery ECL Execute ... ... ... HPCC JDBC Driver 5
  • 6. Phase 1 – Thick JDBC Driver • Provides SQL interface for HPCC! • Driver is responsible for SQL parsing and ECL code generation • Existing HPCC Web Services utilized for metadata fetch, and ECL query submission • Backward compatible with older HPCC versions • Available now • http://www.hpccsystems.com – Downloads, documentation, notes. • https://github.com/hpcc-systems/HPCC-Platform/hpcc-jdbc - Source HPCC JDBC Driver 6
  • 7. Phase 2 – Thin JDBC Driver – Dedicated Web service JDBC Client HPCC JDBC Driver HPCC System WS_SQL getTables() getProcs() … MetaData Manager Fast Metadata fetch Method SQL Parser execQuery() … getResultSet() Query Cache Data Encapsulation and Delivery Roxie ECL Generator ... ... ... Thor ... ... ... HPCC JDBC Driver 7
  • 8. Phase 2 – Thin JDBC Driver – Dedicated Web service • Major performance improvements • Delegates SQL processing and ECL generation to back-end server • Utilizes internal query compilation tracking mechanism • Provides means for compiled query re-use • Allows result fetch on previously executed queries • Introduces paged result set fetch • Introduces SQL query caching on back-end • SQL normalized and mapped to compiled/executed ECL query • Available – very soon. HPCC JDBC Driver 8
  • 9. Can SQL entirely replace ECL on HPCC? • No, ECL is very powerful and cannot be replaced by SQL • Production level process should be published ECL Query based • Subset of Read-only SQL operations supported • Data updates must be performed via ECL or dedicated interfaces • Powerful published ECL queries accessed via SQL call commands • SQL based processes can make use of published ECL queries HPCC JDBC Driver 9
  • 10. HPCC system view via JDBC client HPCC published queries listed as stored procedures HPCC Files content easily fetched HPCC Data files listed as tables HPCC File Metadata is available HPCC Files column information is available HPCC JDBC Driver 10
  • 11. HPCC data view via JDBC Client Freehand SQL input “Overview” layout for Easy data analysis Data statistics displayed in “fly-over” HPCC JDBC Driver 11
  • 12. SQL Syntax supported • SQL CALL: call queryname ([param list]) • Example: call MyHPCCStoredProcedure(33024) • SQL SELECT: select colummList from tableName [as alias] [USE INDEX(indexFileName | 0 )] [where filterCondition] [group by fieldName] [order by columnNames [asc | desc] ] [LIMIT limitNumber] • Example: select city, zip , COUNT(zip) from tutorial::rjp:tutorialperson where zip > '33440' group by zip limit 100 • SQL SELECT Join: select colummList from tableName [<outer | inner > JOIN join TableName [ as alias] on joinCondition] • Example: select t1.person, t2.address from persontable as t1 inner join addresstable as t2 on t1.personid = t2.personid HPCC JDBC Driver 12
  • 13. Sample programmatic query (JAVA) HPCC JDBC Driver 13
  • 14. Miscellaneous • Driver provided as a single JAR file • Feature set is growing and improving • Package and documentation: • http://hpccsystems.com/products-and-services/products/plugins/JDBC-Driver • Source code and issue tracker: • https://github.com/hpcc-systems/hpcc-jdbc • Questions and discussions: • http://hpccsystems.com/bb/viewforum.php?f=34&sid=8b5b0f7b5a621ece8abac 036067d9db0 • Listen to the HPCC JDBC Driver podcast: • http://cdn.hpccsystems.com/podcasts/2013_1001_JDBC.mp3 • Feedback is welcomed and encouraged! • Join our community at http://hpccsystems.com HPCC JDBC Driver 14