[
https://issues.apache.org/jira/browse/BEAM-3342?focusedWorklogId=315294&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-315294
]
ASF GitHub Bot logged work on BEAM-3342:
----------------------------------------
Author: ASF GitHub Bot
Created on: 19/Sep/19 20:17
Start Date: 19/Sep/19 20:17
Worklog Time Spent: 10m
Work Description: drubinstein commented on pull request #8457:
[BEAM-3342] Create a Cloud Bigtable IO connector for Python
URL: https://github.com/apache/beam/pull/8457#discussion_r326364807
##########
File path: sdks/python/apache_beam/io/gcp/bigtableio.py
##########
@@ -122,22 +126,145 @@ class WriteToBigTable(beam.PTransform):
A PTransform that write a list of `DirectRow` into the Bigtable Table
"""
- def __init__(self, project_id=None, instance_id=None,
- table_id=None):
+ def __init__(self, project_id=None, instance_id=None, table_id=None):
""" The PTransform to access the Bigtable Write connector
Args:
project_id(str): GCP Project of to write the Rows
instance_id(str): GCP Instance to write the Rows
table_id(str): GCP Table to write the `DirectRows`
"""
super(WriteToBigTable, self).__init__()
- self.beam_options = {'project_id': project_id,
- 'instance_id': instance_id,
- 'table_id': table_id}
+ self._beam_options = {'project_id': project_id,
+ 'instance_id': instance_id,
+ 'table_id': table_id}
def expand(self, pvalue):
- beam_options = self.beam_options
+ beam_options = self._beam_options
return (pvalue
| beam.ParDo(_BigTableWriteFn(beam_options['project_id'],
beam_options['instance_id'],
beam_options['table_id'])))
+
+
+class _BigtableReadFn(beam.DoFn):
+ """ Creates the connector that can read rows for Beam pipeline
+
+ Args:
+ project_id(str): GCP Project ID
+ instance_id(str): GCP Instance ID
+ table_id(str): GCP Table ID
+
+ """
+
+ def __init__(self, project_id, instance_id, table_id, filter_=b''):
Review comment:
`filter_` should probably default to `None` since that is the default for
`read_rows` if you pass in an empty bytestring like you do here, then you
receive an error cause they do not have a `to_pb` function as expected of
`RowFilter` type objects.
----------------------------------------------------------------
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: 315294)
Time Spent: 39h 20m (was: 39h 10m)
> Create a Cloud Bigtable IO connector for Python
> -----------------------------------------------
>
> Key: BEAM-3342
> URL: https://issues.apache.org/jira/browse/BEAM-3342
> Project: Beam
> Issue Type: Bug
> Components: sdk-py-core
> Reporter: Solomon Duskis
> Assignee: Solomon Duskis
> Priority: Major
> Time Spent: 39h 20m
> Remaining Estimate: 0h
>
> I would like to create a Cloud Bigtable python connector.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)