Google cloud platform 从拼花地板读取的梁/数据流不';我什么都没读,但我的工作还是成功的?
我有一个数据流作业,它:Google cloud platform 从拼花地板读取的梁/数据流不';我什么都没读,但我的工作还是成功的?,google-cloud-platform,google-cloud-dataflow,apache-beam,google-cloud-iam,Google Cloud Platform,Google Cloud Dataflow,Apache Beam,Google Cloud Iam,我有一个数据流作业,它: 从GCS读取包含其他文件名的文本文件 将文件名传递给ReadAllFromParquet以读取.parquet文件 写入BigQuery 尽管我的工作“成功”,但它基本上没有经过ReadAllFromParquet步骤的输出集合。 我成功地读取了列表中的文件,例如:['gs://my\u bucket/my\u file1.snappy.parquet'、'gs://my\u bucket/my\u file2.snappy.parquet'、'gs://my\u bu
['gs://my\u bucket/my\u file1.snappy.parquet'、'gs://my\u bucket/my\u file2.snappy.parquet'、'gs://my\u bucket/my\u file3.snappy.parquet'.
我还在ReadAllFromParquet之前的步骤中使用记录器确认此列表正确,并且文件的GCS路径正确
这就是我的管道看起来的样子(为了简洁起见,省略了完整的代码,但我相信它正常工作,因为我使用ReadAllFromText为.csv创建了完全相同的管道,并且工作正常):
这就是我的工作图之后的样子:
有人知道这里可能会出什么问题吗?最好的调试方法是什么?
我目前的想法是:
Read all files/ReadAllFiles/ReadRange.out0
vs
路径的第一部分是两个作业的步骤名称。
但是我相信第二个是来自apache_beam.io.filebasedsource()的ReadAllFiles类,它同时调用ReadAllFromText和ReadAllFromParquet
似乎是一个潜在的bug,但似乎无法在源代码中跟踪它
=============
编辑2
经过进一步挖掘,ReadAllFromParquet似乎还没有发挥作用。ReadFromParquet调用apache_beam.io.parquetio.\u ParquetSource,而ReadAllFromParquet只调用apache_beam.io.filebasedsource._ReadRange
如果这是一个实验函数,我想知道是否有办法打开它?您没有提到如果您使用的是最后一个Beam SDK,请尝试使用SDK 2.16测试最后的更改
doc声明这是一个实验功能,也是从拼花地板读取的;尽管如此,如果报告为在此线程中工作,您可能希望尝试使用此功能。您没有提到如果您使用的是最后一个Beam SDK,请尝试使用SDK 2.16测试最后的更改
doc声明这是一个实验功能,也是从拼花地板读取的;尽管如此,如果报告正在使用此线程,您可能希望尝试使用此功能。ReadFromParquet确实有效。ReadAllFromParquet目前只指向与ReadAllFromText相同的类,没有读取parquet的功能。您可以通过检查共享链接中的源代码来确认这一点。除非2.16有在源代码中看不到的更改?应该包含最后的修改,但您也可以检查其他版本。从我的回顾中,ReadAllFromParquet和ReadFromParquet这两个类都称为_ParquetSource,我想知道您是如何到达apache_beam.io.filebasedsource的。在您最初的问题中的注释“编辑2”中的ReadRange。无论如何,由于ReadFromParquet正在工作,我建议继续使用该功能。谢谢您的输入。我实际上是在看apache.org上托管的pydoc,但现在意识到这是2.11!幸运的是,我的工作目标发生了变化,所以我们不再需要那些拼花地板文件,所以现在干脆放弃这个。当我可以的时候,我一定会回来,就像我使用的2.15调用_ParquetSource一样。问题在我的代码中的其他地方。当然,如果你回来有新的结果,我会尽力帮助你。readfrom parquet确实有效。ReadAllFromParquet目前只指向与ReadAllFromText相同的类,没有读取parquet的功能。您可以通过检查共享链接中的源代码来确认这一点。除非2.16有在源代码中看不到的更改?应该包含最后的修改,但您也可以检查其他版本。从我的回顾中,ReadAllFromParquet和ReadFromParquet这两个类都称为_ParquetSource,我想知道您是如何到达apache_beam.io.filebasedsource的。在您最初的问题中的注释“编辑2”中的ReadRange。无论如何,由于ReadFromParquet正在工作,我建议继续使用该功能。谢谢您的输入。我实际上是在看apache.org上托管的pydoc,但现在意识到这是2.11!幸运的是,我的工作目标发生了变化,所以我们不再需要那些拼花地板文件,所以现在干脆放弃这个。当我可以的时候,我一定会回来,就像我使用的2.15调用_ParquetSource一样,这个问题在我的代码中的其他地方。当然,如果你来的话,我会尽力帮助你
Read all files/ReadAllFiles/ReadRange.out0
Read all files/Read all files/ReadRange.out0