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

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

                Author: ASF GitHub Bot
            Created on: 20/Sep/21 20:31
            Start Date: 20/Sep/21 20:31
    Worklog Time Spent: 10m 
      Work Description: TheNeuralBit commented on pull request #15539:
URL: https://github.com/apache/beam/pull/15539#issuecomment-923273908


   Run XVR_Direct PostCommit


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

    Worklog Id:     (was: 653189)
    Time Spent: 40m  (was: 0.5h)

> SqlTransform doesn't work on python 3.9
> ---------------------------------------
>
>                 Key: BEAM-12803
>                 URL: https://issues.apache.org/jira/browse/BEAM-12803
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py-core
>            Reporter: sean teeling
>            Assignee: Brian Hulette
>            Priority: P2
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> Working example below -(Is there no way to paste pre-formatted code into 
> jira?!)- (EDIT: I added the appropriate "code" block)
> {code:python}
> import itertools
> import csv
> import io
> import apache_beam as beam
> from apache_beam.dataframe.io import read_csv
> from apache_beam.transforms.sql import SqlTransform
> def parse_csv(val):
> deflower_headers(iterator):
> return itertools.chain([next(iterator).lower()], iterator)
> return csv.DictReader(lower_headers(io.TextIOWrapper(val.open())))
> class BeamTransformBuilder():
>   def build(self, pipeline):
>     practices = (
>         pipeline
>           | beam.io.fileio.MatchFiles("data.csv")
>           | beam.io.fileio.ReadMatches()
>           | beam.Reshuffle()
>           | beam.FlatMap(parse_csv)
>           | beam.Map(lambda x: beam.Row(id="test-id"))
>           | SqlTransform("""
>                 SELECT
>                 id
>                 FROM PCOLLECTION""")
>         )
>     practices | beam.Map(print)
> def main():
>   builder = BeamTransformBuilder()
>   with beam.Pipeline('DirectRunner') as p:
>   builder.build(p)
> if __name__ == '__main__':
>   main()
> {code}
>  
>  Results in the error:
>  
> {code:java}
>   File 
> "/usr/local/lib/python3.9/site-packages/apache_beam/typehints/schemas.py", 
> line 185, in typing_to_runner_api
>     element_type = typing_to_runner_api(_get_args(type_)[0])
> IndexError: tuple index out of range
> {code}
>  
>  
> Tested on Python 3.9.6. 
>  
> Annoyingly, it is difficult to test this out on other python versions. 
> There's no documentation for how to setup a docker container using 
> DirectRunner and running it locally. There's barely any documentation on what 
> python versions are supported. And using pyenv, and pip install apache-beam 
> requires a lot of other downloads that have conflicts when other versions are 
> already installed.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to