PROFESSIONAL-DATA-ENGINEER · Question #138
Your organization has been collecting and analyzing data in Google BigQuery for 6 months. The majority of the data analyzed is placed in a time-partitioned table named events_partitioned. To reduce…
The correct answer is C. Create a new view over events_partitioned using standard SQL D. Create a service account for the ODBC connection to use for authentication. C and D address the two distinct problems introduced by ODBC: dialect incompatibility and authentication. The BigQuery ODBC driver only supports standard SQL - it cannot execute legacy SQL, so the existing events view would fail at query time. You must create a new view…
Question
Options
- ACreate a new view over events using standard SQL
- BCreate a new partitioned table using a standard SQL query
- CCreate a new view over events_partitioned using standard SQL
- DCreate a service account for the ODBC connection to use for authentication
- ECreate a Google Cloud Identity and Access Management (Cloud IAM) role for the ODBC connection and shared "events"
How the community answered
(23 responses)- A17% (4)
- B4% (1)
- C74% (17)
- E4% (1)
Explanation
C and D address the two distinct problems introduced by ODBC: dialect incompatibility and authentication. The BigQuery ODBC driver only supports standard SQL - it cannot execute legacy SQL, so the existing events view would fail at query time. You must create a new view directly over events_partitioned (not over events) because a standard SQL view cannot reference a legacy SQL view. For authentication, ODBC connections are application-level, non-interactive clients, making a service account the correct credential mechanism - not a human user login.
A is wrong for the same reason as above: standard SQL cannot wrap a legacy SQL view, so building events_over_events would still break.
B is wrong because duplicating data into a new partitioned table is unnecessary and costly - a standard SQL view achieves the same result without data movement.
E is wrong because an IAM role defines permissions, not credentials; you'd assign an IAM role to the service account, but the role alone cannot authenticate a connection.
Memory tip: ODBC = Standard SQL + Service account - two S's. Whenever an application (non-human) needs to connect to BigQuery, always pair a new standard SQL object with a service account.
Topics
Community Discussion
No community discussion yet for this question.