[ 
https://issues.apache.org/jira/browse/BEAM-8023?focusedWorklogId=299725&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-299725
 ]

ASF GitHub Bot logged work on BEAM-8023:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 22/Aug/19 20:33
            Start Date: 22/Aug/19 20:33
    Worklog Time Spent: 10m 
      Work Description: jklukas commented on pull request #9405: [BEAM-8023] 
Add value provider interfaces for BigQueryIO.Read using Method.DIRECT_READ
URL: https://github.com/apache/beam/pull/9405#discussion_r316870665
 
 

 ##########
 File path: 
sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.java
 ##########
 @@ -1360,12 +1413,39 @@ public TableReference getTable() {
       return toBuilder().setMethod(method).build();
     }
 
-    /** Read options, including a list of selected columns and push-down SQL 
filter text. */
+    /**
+     * @deprecated Use {@link #withSelectedFields(List)} and {@link 
#withRowRestriction(String)}
+     *     instead.
+     */
+    @Deprecated
     @Experimental(Experimental.Kind.SOURCE_SINK)
     public TypedRead<T> withReadOptions(TableReadOptions readOptions) {
+      ensureSelectedFieldsAndRowRestrictionNotSet();
       return toBuilder().setReadOptions(readOptions).build();
     }
 
+    @Experimental(Experimental.Kind.SOURCE_SINK)
+    public TypedRead<T> withSelectedFields(List<String> selectedFields) {
+      return withSelectedFields(StaticValueProvider.of(selectedFields));
+    }
+
+    @Experimental(Experimental.Kind.SOURCE_SINK)
 
 Review comment:
   ```suggestion
       /** SQL text filtering statement; valid only for direct reads. */
       @Experimental(Experimental.Kind.SOURCE_SINK)
   ```
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 299725)
    Time Spent: 1h  (was: 50m)

> Allow specifying BigQuery Storage API readOptions at runtime
> ------------------------------------------------------------
>
>                 Key: BEAM-8023
>                 URL: https://issues.apache.org/jira/browse/BEAM-8023
>             Project: Beam
>          Issue Type: Improvement
>          Components: io-java-gcp
>            Reporter: Jeff Klukas
>            Assignee: Kenneth Jung
>            Priority: Minor
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> We have support in the Java SDK for using the BigQuery Storage API for reads, 
> but only the target query or table is supported as a ValueProvider to be 
> specified at runtime. AFAICT, there is no reason we can't delay specifying 
> readOptions until runtime as well.
> The readOptions are accessed by BigQueryStorageTableSource in getTargetTable; 
> I believe that's occurring at runtime, but I'd love for someone with deeper 
> BoundedSource knowledge to confirm that.
> I'd advocate for adding new methods 
> `TypedRead.withSelectedFields(ValueProvider<List<String>> value)` and 
> `TypedRead.withRowRestriction(ValueProvider<String> value)`. The existing 
> `withReadOptions` method would then populate the other two as 
> StaticValueProviders. Perhaps we'd want to deprecate `withReadOptions` in 
> favor or specifying individual read options as separate parameters.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to