SlideShare a Scribd company logo
1 of 14
Download to read offline
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

More Related Content

What's hot

What's hot (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...
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to HPCC Systems JDBC Driver

Similar to 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
 

More from 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
 

More from 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...
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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...
 

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