You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "yoshiki obata (JIRA)" <ji...@apache.org> on 2019/04/24 14:52:00 UTC

[jira] [Updated] (BEAM-7137) TypeError caused by using str variable as header argument in apache_beam.io.textio.WriteToText

     [ https://issues.apache.org/jira/browse/BEAM-7137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

yoshiki obata updated BEAM-7137:
--------------------------------
    Description: 
Using str header to apache_beam.io.textio.WriteToText as argument cause TypeError with Python 3.5.6 - or maybe higher - despite docstring says header is str.
 This error occurred by writing header to file without encoding to bytes at apache_beam.io.textio._TextSink.open.

 
{code:java}
Traceback (most recent call last):
  File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
  File "apache_beam/runners/common.py", line 555, in apache_beam.runners.common.PerWindowInvoker.invoke_process
  File "apache_beam/runners/common.py", line 625, in apache_beam.runners.common.PerWindowInvoker._invoke_per_window
  File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/iobase.py", line 1033, in process
    self.writer = self.sink.open_writer(init_result, str(uuid.uuid4()))
  File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/options/value_provider.py", line 137, in _f
    return fnc(self, *args, **kwargs)
  File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/filebasedsink.py", line 185, in open_writer
    return FileBasedSinkWriter(self, os.path.join(init_result, uid) + suffix)
  File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/filebasedsink.py", line 389, in __init__
    self.temp_handle = self.sink.open(temp_shard_path)
  File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/textio.py", line 393, in open
    file_handle.write(self._header)
TypeError: a bytes-like object is required, not 'str'
{code}
 

  was:
Using str header to apache_beam.io.textio.WriteToText as argument cause TypeError with Python 3.5.6 - or maybe higher - despite docstring says header is str.
 This error occurred by writing header to file without encoding to bytes at apache_beam.io.textio._TextSink.open.

```
 Traceback (most recent call last):
 File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
 File "apache_beam/runners/common.py", line 555, in apache_beam.runners.common.PerWindowInvoker.invoke_process
 File "apache_beam/runners/common.py", line 625, in apache_beam.runners.common.PerWindowInvoker._invoke_per_window
 File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/iobase.py", line 1033, in process
 self.writer = self.sink.open_writer(init_result, str(uuid.uuid4()))
 File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/options/value_provider.py", line 137, in _f
 return fnc(self, *args, **kwargs)
 File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/filebasedsink.py", line 185, in open_writer
 return FileBasedSinkWriter(self, os.path.join(init_result, uid) + suffix)
 File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/filebasedsink.py", line 389, in __init__
 self.temp_handle = self.sink.open(temp_shard_path)
 File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/textio.py", line 393, in open
 file_handle.write(self._header)
 TypeError: a bytes-like object is required, not 'str'
 ```


> TypeError caused by using str variable as header argument in apache_beam.io.textio.WriteToText
> ----------------------------------------------------------------------------------------------
>
>                 Key: BEAM-7137
>                 URL: https://issues.apache.org/jira/browse/BEAM-7137
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py-core
>    Affects Versions: 2.11.0
>         Environment: Python 3.5.6
> macOS Mojave 10.14.4
>            Reporter: yoshiki obata
>            Priority: Minor
>
> Using str header to apache_beam.io.textio.WriteToText as argument cause TypeError with Python 3.5.6 - or maybe higher - despite docstring says header is str.
>  This error occurred by writing header to file without encoding to bytes at apache_beam.io.textio._TextSink.open.
>  
> {code:java}
> Traceback (most recent call last):
>   File "apache_beam/runners/common.py", line 727, in apache_beam.runners.common.DoFnRunner.process
>   File "apache_beam/runners/common.py", line 555, in apache_beam.runners.common.PerWindowInvoker.invoke_process
>   File "apache_beam/runners/common.py", line 625, in apache_beam.runners.common.PerWindowInvoker._invoke_per_window
>   File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/iobase.py", line 1033, in process
>     self.writer = self.sink.open_writer(init_result, str(uuid.uuid4()))
>   File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/options/value_provider.py", line 137, in _f
>     return fnc(self, *args, **kwargs)
>   File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/filebasedsink.py", line 185, in open_writer
>     return FileBasedSinkWriter(self, os.path.join(init_result, uid) + suffix)
>   File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/filebasedsink.py", line 389, in __init__
>     self.temp_handle = self.sink.open(temp_shard_path)
>   File "/Users/yob/.local/share/virtualenvs/test/lib/python3.5/site-packages/apache_beam/io/textio.py", line 393, in open
>     file_handle.write(self._header)
> TypeError: a bytes-like object is required, not 'str'
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)