[
https://issues.apache.org/jira/browse/BEAM-10139?focusedWorklogId=497283&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-497283
]
ASF GitHub Bot logged work on BEAM-10139:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 08/Oct/20 12:22
Start Date: 08/Oct/20 12:22
Worklog Time Spent: 10m
Work Description: piotr-szuberski commented on a change in pull request
#12611:
URL: https://github.com/apache/beam/pull/12611#discussion_r501676146
##########
File path:
sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/spanner/SpannerIO.java
##########
@@ -678,6 +703,42 @@ public Read withPartitionOptions(PartitionOptions
partitionOptions) {
.withTransaction(getTransaction());
return input.apply(Create.of(getReadOperation())).apply("Execute query",
readAll);
}
+
+ SerializableFunction<Struct, Row> getFormatFn() {
+ return (SerializableFunction<Struct, Row>)
+ input ->
+ Row.withSchema(Schema.builder().addInt64Field("Key").build())
+ .withFieldValue("Key", 3L)
+ .build();
+ }
+ }
+
+ public static class ReadRows extends PTransform<PBegin, PCollection<Row>> {
+ Read read;
+ Schema schema;
+
+ public ReadRows(Read read, Schema schema) {
+ super("Read rows");
+ this.read = read;
+ this.schema = schema;
Review comment:
Thank you @nielm ! I thought about the LIMIT approach but then I found
the same arguments not to do that.
It appears there exist a jdbc client for Spanner:
https://cloud.google.com/spanner/docs/jdbc-drivers . I'll try to figure out if
I can use it.
There is ResultSetMetadata in Spanner's REST API which extends json object.
https://cloud.google.com/spanner/docs/reference/rest/v1/ResultSetMetadata but
at the end of the day it requires at least partially to fetch the data.
But I would leave it for another PR as it supposedly require to move
SchemaUtils from io/jdbc to some more general place (extensions/sql?). As I can
see Struct type is mapped to String/Varchar as is mentioned in the FAQ, so it
may not be the best option
```
The Cloud Spanner STRUCT data type is mapped to a SQL VARCHAR data type,
accessible through
this driver as String types. All other types have appropriate mappings.
```
----------------------------------------------------------------
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:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 497283)
Time Spent: 18h (was: 17h 50m)
> Add cross-language wrapper for Java's SpannerIO Write
> -----------------------------------------------------
>
> Key: BEAM-10139
> URL: https://issues.apache.org/jira/browse/BEAM-10139
> Project: Beam
> Issue Type: Sub-task
> Components: cross-language, io-java-gcp, io-py-gcp
> Affects Versions: Not applicable
> Reporter: Piotr Szuberski
> Assignee: Piotr Szuberski
> Priority: P2
> Labels: portability
> Fix For: Not applicable
>
> Time Spent: 18h
> Remaining Estimate: 0h
>
> Add cross-language wrapper for Java's SpannerIO Write
--
This message was sent by Atlassian Jira
(v8.3.4#803005)