SUPPORT / SAMPLES & SAS NOTES
 

Support

Usage Note 67567: A query that includes the UNION of two queries that reference a Google BigQuery table might result in a performance issue and error

DetailsHotfixAboutRate It

When running a FEDSQL procedure query that includes the UNION of two queries that reference a Google BigQuery table, you might encounter a performance issue and error similar to the following:

ERROR: [42000] Error: googleapi: Error 400: Syntax error: Expected keyword ALL or keyword DISTINCT but got keyword SELECT at [1:136], invalidQuery

This issue occurs when the query does not include the ALL keyword. The Google BigQuery database requires either the ALL or DISTINCT keyword to be included with the UNION operator. When the ALL keyword is not present in the FEDSQL query, the query that is passed to the database does not include the DISTINCT keyword. As a result of the error, each of the two sub-queries is submitted separately. Then, the results of each is pulled into SAS®, which performs the UNION into a single result set. 

Running the same query with the SQL procedure might result in the performance issue. Even though it appears that the query is being passed to the database, the same issue is also occurring. The error is just not surfaced to the log.  



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS/ACCESS Interface to Google BigQueryLinux for x649.419.439.4 TS1M69.4 TS1M8
SAS SystemSAS/ACCESS Interface to Google BigQuery (on SAS Viya)Linux for x64V.03.042020.1.2ViyaViya
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.