You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/07/05 11:46:22 UTC

[GitHub] [arrow] jorisvandenbossche opened a new pull request #10654: ARROW-13258: [Python] Improve the repr of ParquetFileFragment

jorisvandenbossche opened a new pull request #10654:
URL: https://github.com/apache/arrow/pull/10654


   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jorisvandenbossche commented on a change in pull request #10654: ARROW-13258: [Python] Improve the repr of ParquetFileFragment

Posted by GitBox <gi...@apache.org>.
jorisvandenbossche commented on a change in pull request #10654:
URL: https://github.com/apache/arrow/pull/10654#discussion_r663900808



##########
File path: python/pyarrow/_dataset.pyx
##########
@@ -1057,6 +1057,23 @@ cdef class FileFragment(Fragment):
         Fragment.init(self, sp)
         self.file_fragment = <CFileFragment*> sp.get()
 
+    def __repr__(self):
+        type_name = frombytes(self.fragment.type_name())
+        if type_name != "parquet":
+            typ = " type={0}".format(type_name)
+        else:
+            # parquet has a subclass -> type embedded in class name
+            typ = ""
+        partition_dict = _get_partition_keys(self.partition_expression)
+        partition = ", ".join(
+            ["{0}={1}".format(key, val) for key, val in partition_dict.items()]

Review comment:
       I always forget in which Python version that was introduced, but it's Python 3.6, so indeed we can use f-strings!




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] lidavidm commented on a change in pull request #10654: ARROW-13258: [Python] Improve the repr of ParquetFileFragment

Posted by GitBox <gi...@apache.org>.
lidavidm commented on a change in pull request #10654:
URL: https://github.com/apache/arrow/pull/10654#discussion_r663899010



##########
File path: python/pyarrow/_dataset.pyx
##########
@@ -1057,6 +1057,23 @@ cdef class FileFragment(Fragment):
         Fragment.init(self, sp)
         self.file_fragment = <CFileFragment*> sp.get()
 
+    def __repr__(self):
+        type_name = frombytes(self.fragment.type_name())
+        if type_name != "parquet":
+            typ = " type={0}".format(type_name)
+        else:
+            # parquet has a subclass -> type embedded in class name
+            typ = ""
+        partition_dict = _get_partition_keys(self.partition_expression)
+        partition = ", ".join(
+            ["{0}={1}".format(key, val) for key, val in partition_dict.items()]

Review comment:
       nit: this might be a little clearer with f-strings over str.format

##########
File path: python/pyarrow/tests/test_dataset.py
##########
@@ -1365,6 +1366,37 @@ def test_fragments_parquet_subset_invalid(tempdir):
         fragment.subset()
 
 
+@pytest.mark.pandas
+@pytest.mark.parquet
+def test_fragments_repr(tempdir, dataset):
+    # partitioned parquet dataset
+    fragment = list(dataset.get_fragments())[0]
+    assert (
+        repr(fragment) ==
+        "<pyarrow.dataset.ParquetFileFragment path=subdir/1/xxx/file0.parquet "

Review comment:
       Looks like this needs to be adjusted based on platform.




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] lidavidm closed pull request #10654: ARROW-13258: [Python] Improve the repr of ParquetFileFragment

Posted by GitBox <gi...@apache.org>.
lidavidm closed pull request #10654:
URL: https://github.com/apache/arrow/pull/10654


   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jorisvandenbossche commented on a change in pull request #10654: ARROW-13258: [Python] Improve the repr of ParquetFileFragment

Posted by GitBox <gi...@apache.org>.
jorisvandenbossche commented on a change in pull request #10654:
URL: https://github.com/apache/arrow/pull/10654#discussion_r663900808



##########
File path: python/pyarrow/_dataset.pyx
##########
@@ -1057,6 +1057,23 @@ cdef class FileFragment(Fragment):
         Fragment.init(self, sp)
         self.file_fragment = <CFileFragment*> sp.get()
 
+    def __repr__(self):
+        type_name = frombytes(self.fragment.type_name())
+        if type_name != "parquet":
+            typ = " type={0}".format(type_name)
+        else:
+            # parquet has a subclass -> type embedded in class name
+            typ = ""
+        partition_dict = _get_partition_keys(self.partition_expression)
+        partition = ", ".join(
+            ["{0}={1}".format(key, val) for key, val in partition_dict.items()]

Review comment:
       I always forget in which Python version that was introduced, but it's Python 3.6, so indeed we can use f-strings!




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] lidavidm closed pull request #10654: ARROW-13258: [Python] Improve the repr of ParquetFileFragment

Posted by GitBox <gi...@apache.org>.
lidavidm closed pull request #10654:
URL: https://github.com/apache/arrow/pull/10654


   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #10654: ARROW-13258: [Python] Improve the repr of ParquetFileFragment

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #10654:
URL: https://github.com/apache/arrow/pull/10654#issuecomment-874049321


   https://issues.apache.org/jira/browse/ARROW-13258


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #10654: ARROW-13258: [Python] Improve the repr of ParquetFileFragment

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #10654:
URL: https://github.com/apache/arrow/pull/10654#issuecomment-874049321


   https://issues.apache.org/jira/browse/ARROW-13258


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] lidavidm commented on a change in pull request #10654: ARROW-13258: [Python] Improve the repr of ParquetFileFragment

Posted by GitBox <gi...@apache.org>.
lidavidm commented on a change in pull request #10654:
URL: https://github.com/apache/arrow/pull/10654#discussion_r663899010



##########
File path: python/pyarrow/_dataset.pyx
##########
@@ -1057,6 +1057,23 @@ cdef class FileFragment(Fragment):
         Fragment.init(self, sp)
         self.file_fragment = <CFileFragment*> sp.get()
 
+    def __repr__(self):
+        type_name = frombytes(self.fragment.type_name())
+        if type_name != "parquet":
+            typ = " type={0}".format(type_name)
+        else:
+            # parquet has a subclass -> type embedded in class name
+            typ = ""
+        partition_dict = _get_partition_keys(self.partition_expression)
+        partition = ", ".join(
+            ["{0}={1}".format(key, val) for key, val in partition_dict.items()]

Review comment:
       nit: this might be a little clearer with f-strings over str.format

##########
File path: python/pyarrow/tests/test_dataset.py
##########
@@ -1365,6 +1366,37 @@ def test_fragments_parquet_subset_invalid(tempdir):
         fragment.subset()
 
 
+@pytest.mark.pandas
+@pytest.mark.parquet
+def test_fragments_repr(tempdir, dataset):
+    # partitioned parquet dataset
+    fragment = list(dataset.get_fragments())[0]
+    assert (
+        repr(fragment) ==
+        "<pyarrow.dataset.ParquetFileFragment path=subdir/1/xxx/file0.parquet "

Review comment:
       Looks like this needs to be adjusted based on platform.




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org