[JBoss JIRA] (TEIID-3442) Apache Spark support via SparkSQL and DataFrames
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-3442?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-3442:
-------------------------------------
[~blue666man] is this something you have bandwidth to contribute to Teiid? For me, it seems like using the Thrift JDBC driver is good idea. Also, want to make sure you are primarily intending to use as source?
> Apache Spark support via SparkSQL and DataFrames
> ------------------------------------------------
>
> Key: TEIID-3442
> URL: https://issues.jboss.org/browse/TEIID-3442
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 8.10
> Reporter: John Muller
> Labels: Connectors, Spark, Translators
> Fix For: Open To Community
>
> Original Estimate: 20 weeks
> Remaining Estimate: 20 weeks
>
> Eliciting comments for Apache Spark support. With the release of Panda's like DataFrames, it is a little more feasible to directly translate to SparkSQL:
> https://spark.apache.org/docs/latest/sql-programming-guide.html
> Options in order of complexity:
> 1. Use the existing Hive connector / translator. Spark still uses the Hive metastore.
> 2. Thrift JDBC driver. This is what Microstrategy, Tableau, QlikView and others use, most rudimentary API for accessing Spark.
> 3. Native SparkSQL via building Spark jobs and submitting them to a running Spark driver.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (TEIID-3454) Dependent Join optimizations for Netezza and Hive
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3454?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3454:
---------------------------------------
There is a feature to perform a dependent join using a temp table. On the JDBC translator the property enableDependentJoins needs to be set - https://docs.jboss.org/author/display/TEIID/JDBC+Translator
But we don't currently have a hibernate dialect associated with netezza. The closest would be postgresql. If also isn't yet any key creation on the temporary table.
The Hive translator would take more work as there isn't any temp support there yet.
> Dependent Join optimizations for Netezza and Hive
> -------------------------------------------------
>
> Key: TEIID-3454
> URL: https://issues.jboss.org/browse/TEIID-3454
> Project: Teiid
> Issue Type: Feature Request
> Components: Query Engine
> Affects Versions: 8.10
> Reporter: John Muller
> Assignee: Steven Hawkins
> Priority: Minor
>
> Currently, dependent joins create 1 or more IN clauses. Many MPP / NoSQL systems can have drastically better performance by creating temp tables that match key distributions. Two examples I know of would be Netezza and Hive.
> In Netezza, if the incoming dependent join (small dimension; here "Customer" using Northwind data model concepts) has a key that will be joined to to a big fact table that is DISTRIBUTED ON or ORGANIZED BY 'ed then creating a temp table that matches this distribution will result in ~100x query performance. Sometimes, if the dimension is small enough, this doesn't make a big difference as Netezza will perform a broadcast join, but it's never a bad idea to create the temp table.
> Similarly, Hive DDL has both partitions and buckets (pre-sorted).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (TEIID-3454) Dependent Join optimizations for Netezza and Hive
by John Muller (JIRA)
John Muller created TEIID-3454:
----------------------------------
Summary: Dependent Join optimizations for Netezza and Hive
Key: TEIID-3454
URL: https://issues.jboss.org/browse/TEIID-3454
Project: Teiid
Issue Type: Feature Request
Components: Query Engine
Affects Versions: 8.10
Reporter: John Muller
Assignee: Steven Hawkins
Priority: Minor
Currently, dependent joins create 1 or more IN clauses. Many MPP / NoSQL systems can have drastically better performance by creating temp tables that match key distributions. Two examples I know of would be Netezza and Hive.
In Netezza, if the incoming dependent join (small dimension; here "Customer" using Northwind data model concepts) has a key that will be joined to to a big fact table that is DISTRIBUTED ON or ORGANIZED BY 'ed then creating a temp table that matches this distribution will result in ~100x query performance. Sometimes, if the dimension is small enough, this doesn't make a big difference as Netezza will perform a broadcast join, but it's never a bad idea to create the temp table.
Similarly, Hive DDL has both partitions and buckets (pre-sorted).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months