[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)
9 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)
9 years, 8 months
[JBoss JIRA] (TEIID-3451) OData does not inject schema into queries
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3451?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated TEIID-3451:
-------------------------------------------
Bugzilla Update: Perform
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1214445
> OData does not inject schema into queries
> -----------------------------------------
>
> Key: TEIID-3451
> URL: https://issues.jboss.org/browse/TEIID-3451
> Project: Teiid
> Issue Type: Bug
> Components: OData
> Affects Versions: 8.7
> Reporter: Debbie Steigner
> Assignee: Steven Hawkins
> Fix For: 8.7.1.6_2, 8.11
>
>
> OData service does not inject a fully qualified object names for tables for POSTS, PUTs, and DELETEs:
> 12:50:34,367 DEBUG [org.teiid.COMMAND_LOG] (http-localhost/127.0.0.1:8080-1) START USER COMMAND: startTime=2015-04-22 12:50:34.367 requestID=XxHTbednhDq7.0 txID=null sessionID=XxHTbednhDq7 applicationName=JDBC principal=teiidUser@teiid-security vdbName=ImsOne vdbVersion=2 sql=INSERT INTO Subscription (SUBSCRIPTION_ID, CLIENT_NAME, DEST_CONNECTION_URI, DEST_SCHEMA_NAME, DEST_TABLE_NAME, PROVIDER_URL, TOPIC_NAME) VALUES (?, ?, ?, ?, ?, ?, ?)
> 12:50:34,380 DEBUG [org.teiid.COMMAND_LOG] (http-localhost/127.0.0.1:8080-1) ERROR USER COMMAND: endTime=2015-04-22 12:50:34.379 requestID=XxHTbednhDq7.0 txID=null sessionID=XxHTbednhDq7 principal=teiidUser@teiid-security vdbName=ImsOne vdbVersion=2 finalRowCount=null
> 12:50:34,380 WARN [org.teiid.PROCESSOR] (http-localhost/127.0.0.1:8080-1) TEIID30020 Processing exception for request XxHTbednhDq7.0 'Group specified is ambiguous, resubmit the query by fully qualifying the group name: Subscription'. Originally QueryResolverException ResolverUtil.java:814. Enable more detailed logging to see the entire stacktrace.
> 12:50:34,383 WARN [org.teiid.ODATA] (http-localhost/127.0.0.1:8080-1) TEIID16012 Could not produce a successful OData response. Returning status ServerErrorException with message Group specified is ambiguous, resubmit the query by fully qualifying the group name: Subscription.
> Same insert works fine over JDBC. Offending line from 8.7.0 public github:
> https://github.com/teiid/teiid/blob/8.7.x/odata/src/main/java/org/teiid/o...
> Note that private Table findTable() on line 925 depends upon org.odata4j.core.EdmEntitySet#getName to return the name, but this is not fully qualified
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 8 months