forked from apache/arrow
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix int96 conversion to read timestamps correctly #2
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
xhochy
approved these changes
Mar 14, 2019
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, looks like it does what Parquet actually encodes!
andygrove
added a commit
that referenced
this pull request
Mar 15, 2019
I'm sure I'll need some guidance on this one from @sunchao or @liurenjie1024 but I am keen to get parquet support added for primitive types so that I can actually use DataFusion and Arrow in production at some point. Author: Andy Grove <andygrove73@gmail.com> Author: Neville Dipale <nevilledips@gmail.com> Author: Andy Grove <andygrove@users.noreply.github.com> Closes apache#3851 from andygrove/ARROW-4466 and squashes the following commits: 3158529 <Andy Grove> add test for reading small batches 549c829 <Andy Grove> Remove hard-coded batch size, fix nits 8d2df06 <Andy Grove> move schema projection function from arrow into datafusion 204db83 <Andy Grove> fix timestamp nano issue 73aa934 <Andy Grove> Remove println from test 25d34ac <Andy Grove> Make INT32/64/96 handling consistent with C++ implementation 9b1308f <Andy Grove> clean up handling of INT96 and DATE/TIME/TIMESTAMP types in schema converter 1ec815b <Andy Grove> Clean up imports 023dc25 <Andy Grove> Merge pull request #2 from nevi-me/ARROW-4466 02b2ed3 <Neville Dipale> fix int96 conversion to read timestamps correctly 2aeea24 <Andy Grove> remove println from tests 9d3047a <Andy Grove> code cleanup 639e13e <Andy Grove> null handling for int96 1503855 <Andy Grove> handle nulls for binary data 80cf303 <Andy Grove> add date support 5a3368c <Andy Grove> Remove unnecessary slice, fix null handling 306d07a <Neville Dipale> fmt 3c711a5 <Neville Dipale> immediately allocate vec e6cbbaa <Neville Dipale> replace read_column! macro with generic 607a29f <Andy Grove> return result if there are null values e8aa784 <Andy Grove> revert temp debug change to error messages 6457c36 <Andy Grove> use parquet::reader::schema::parquet_to_arrow_schema c56510e <Andy Grove> projection takes slice instead of vec 7e1a98f <Andy Grove> remove println and unwrap dddb7d7 <Andy Grove> update to use partition-aware changes from master 157512e <Andy Grove> Remove invalid TODO comment debb2fb <Andy Grove> code cleanup 6c3b7e2 <Andy Grove> add support for all primitive parquet types b4981ed <Andy Grove> implement more parquet column types and tests 5ce3086 <Andy Grove> revert to columnar reads c3f71d7 <Andy Grove> add integration test aea9f8a <Andy Grove> convert to use row iter f46e6f7 <Andy Grove> save eaddafb <Andy Grove> save 322fc87 <Andy Grove> add test for reading strings from parquet 3a412b1 <Andy Grove> first parquet test passes ff3e5b7 <Andy Grove> test 10710a2 <Andy Grove> Parquet datasource
andygrove
pushed a commit
that referenced
this pull request
Aug 17, 2019
This updates the language in `install_arrow()` to follow the README revision that will land in https://github.com/apache/arrow/pull/4948/files#diff-563b2cb2c8c2d51b2ff6b177e2d84286R33. The [Jira ticket](https://issues.apache.org/jira/browse/ARROW-6142) requested three things; this is `#2` in the list. On `#1`, I defer to the C++ installation docs, which are already included in the install_arrow message, rather than duplicating content here. `apache#3` is out of scope. Closes apache#5027 from nealrichardson/no-ppa and squashes the following commits: 80b142e <Neal Richardson> s/arrow/Arrow/ 44c9659 <Neal Richardson> Tweak language again 36cfe28 <Neal Richardson> Further linux install revisions 79bd7e0 <Neal Richardson> One more PPurge 63f75bd <Neal Richardson> Revise install_arrow instructions for Linux Authored-by: Neal Richardson <neal.p.richardson@gmail.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
andygrove
pushed a commit
that referenced
this pull request
Feb 26, 2020
…comments. The reset method allow the data structures to be re-used so they don't have to be allocated over and over again. Closes apache#6430 from richardartoul/ra/merge-upstream and squashes the following commits: 5a08281 <Richard Artoul> Add license to test file d76be05 <Richard Artoul> Add test for data reset d102b1f <Richard Artoul> Add tests d3e6e67 <Richard Artoul> cleanup comments c8525ae <Richard Artoul> Add Reset method to int array (apache#5) 489ca25 <Richard Artoul> Fix array.setData() to retain before release (apache#4) 88cd05f <Richard Artoul> Add reset method to Data (apache#3) 6d1b277 <Richard Artoul> Add Reset() method to String array (#2) dca2303 <Richard Artoul> Add Reset method to buffer and cleanup comments (#1) Lead-authored-by: Richard Artoul <richard.artoul@datadoghq.com> Co-authored-by: Richard Artoul <richardartoul@gmail.com> Signed-off-by: Sebastien Binet <binet@cern.ch>
andygrove
pushed a commit
that referenced
this pull request
May 13, 2020
This PR enables tests for `ARROW_COMPUTE`, `ARROW_DATASET`, `ARROW_FILESYSTEM`, `ARROW_HDFS`, `ARROW_ORC`, and `ARROW_IPC` (default on). apache#7131 enabled a minimal set of tests as a starting point. I confirmed that these tests pass locally with the current master. In the current TravisCI environment, we cannot see this result due to a lot of error messages in `arrow-utility-test`. ``` $ git log | head -1 commit ed5f534 % ctest ... Start 1: arrow-array-test 1/51 Test #1: arrow-array-test ..................... Passed 4.62 sec Start 2: arrow-buffer-test 2/51 Test #2: arrow-buffer-test .................... Passed 0.14 sec Start 3: arrow-extension-type-test 3/51 Test apache#3: arrow-extension-type-test ............ Passed 0.12 sec Start 4: arrow-misc-test 4/51 Test apache#4: arrow-misc-test ...................... Passed 0.14 sec Start 5: arrow-public-api-test 5/51 Test apache#5: arrow-public-api-test ................ Passed 0.12 sec Start 6: arrow-scalar-test 6/51 Test apache#6: arrow-scalar-test .................... Passed 0.13 sec Start 7: arrow-type-test 7/51 Test apache#7: arrow-type-test ...................... Passed 0.14 sec Start 8: arrow-table-test 8/51 Test apache#8: arrow-table-test ..................... Passed 0.13 sec Start 9: arrow-tensor-test 9/51 Test apache#9: arrow-tensor-test .................... Passed 0.13 sec Start 10: arrow-sparse-tensor-test 10/51 Test apache#10: arrow-sparse-tensor-test ............. Passed 0.16 sec Start 11: arrow-stl-test 11/51 Test apache#11: arrow-stl-test ....................... Passed 0.12 sec Start 12: arrow-concatenate-test 12/51 Test apache#12: arrow-concatenate-test ............... Passed 0.53 sec Start 13: arrow-diff-test 13/51 Test apache#13: arrow-diff-test ...................... Passed 1.45 sec Start 14: arrow-c-bridge-test 14/51 Test apache#14: arrow-c-bridge-test .................. Passed 0.18 sec Start 15: arrow-io-buffered-test 15/51 Test apache#15: arrow-io-buffered-test ............... Passed 0.20 sec Start 16: arrow-io-compressed-test 16/51 Test apache#16: arrow-io-compressed-test ............. Passed 3.48 sec Start 17: arrow-io-file-test 17/51 Test apache#17: arrow-io-file-test ................... Passed 0.74 sec Start 18: arrow-io-hdfs-test 18/51 Test apache#18: arrow-io-hdfs-test ................... Passed 0.12 sec Start 19: arrow-io-memory-test 19/51 Test apache#19: arrow-io-memory-test ................. Passed 2.77 sec Start 20: arrow-utility-test 20/51 Test apache#20: arrow-utility-test ...................***Failed 5.65 sec Start 21: arrow-threading-utility-test 21/51 Test apache#21: arrow-threading-utility-test ......... Passed 1.34 sec Start 22: arrow-compute-compute-test 22/51 Test apache#22: arrow-compute-compute-test ........... Passed 0.13 sec Start 23: arrow-compute-boolean-test 23/51 Test apache#23: arrow-compute-boolean-test ........... Passed 0.15 sec Start 24: arrow-compute-cast-test 24/51 Test apache#24: arrow-compute-cast-test .............. Passed 0.22 sec Start 25: arrow-compute-hash-test 25/51 Test apache#25: arrow-compute-hash-test .............. Passed 2.61 sec Start 26: arrow-compute-isin-test 26/51 Test apache#26: arrow-compute-isin-test .............. Passed 0.81 sec Start 27: arrow-compute-match-test 27/51 Test apache#27: arrow-compute-match-test ............. Passed 0.40 sec Start 28: arrow-compute-sort-to-indices-test 28/51 Test apache#28: arrow-compute-sort-to-indices-test ... Passed 3.33 sec Start 29: arrow-compute-nth-to-indices-test 29/51 Test apache#29: arrow-compute-nth-to-indices-test .... Passed 1.51 sec Start 30: arrow-compute-util-internal-test 30/51 Test apache#30: arrow-compute-util-internal-test ..... Passed 0.13 sec Start 31: arrow-compute-add-test 31/51 Test apache#31: arrow-compute-add-test ............... Passed 0.12 sec Start 32: arrow-compute-aggregate-test 32/51 Test apache#32: arrow-compute-aggregate-test ......... Passed 14.70 sec Start 33: arrow-compute-compare-test 33/51 Test apache#33: arrow-compute-compare-test ........... Passed 7.96 sec Start 34: arrow-compute-take-test 34/51 Test apache#34: arrow-compute-take-test .............. Passed 4.80 sec Start 35: arrow-compute-filter-test 35/51 Test apache#35: arrow-compute-filter-test ............ Passed 8.23 sec Start 36: arrow-dataset-dataset-test 36/51 Test apache#36: arrow-dataset-dataset-test ........... Passed 0.25 sec Start 37: arrow-dataset-discovery-test 37/51 Test apache#37: arrow-dataset-discovery-test ......... Passed 0.13 sec Start 38: arrow-dataset-file-ipc-test 38/51 Test apache#38: arrow-dataset-file-ipc-test .......... Passed 0.21 sec Start 39: arrow-dataset-file-test 39/51 Test apache#39: arrow-dataset-file-test .............. Passed 0.12 sec Start 40: arrow-dataset-filter-test 40/51 Test apache#40: arrow-dataset-filter-test ............ Passed 0.16 sec Start 41: arrow-dataset-partition-test 41/51 Test apache#41: arrow-dataset-partition-test ......... Passed 0.13 sec Start 42: arrow-dataset-scanner-test 42/51 Test apache#42: arrow-dataset-scanner-test ........... Passed 0.20 sec Start 43: arrow-filesystem-test 43/51 Test apache#43: arrow-filesystem-test ................ Passed 1.62 sec Start 44: arrow-hdfs-test 44/51 Test apache#44: arrow-hdfs-test ...................... Passed 0.13 sec Start 45: arrow-feather-test 45/51 Test apache#45: arrow-feather-test ................... Passed 0.91 sec Start 46: arrow-ipc-read-write-test 46/51 Test apache#46: arrow-ipc-read-write-test ............ Passed 5.77 sec Start 47: arrow-ipc-json-simple-test 47/51 Test apache#47: arrow-ipc-json-simple-test ........... Passed 0.16 sec Start 48: arrow-ipc-json-test 48/51 Test apache#48: arrow-ipc-json-test .................. Passed 0.27 sec Start 49: arrow-json-integration-test 49/51 Test apache#49: arrow-json-integration-test .......... Passed 0.13 sec Start 50: arrow-json-test 50/51 Test apache#50: arrow-json-test ...................... Passed 0.26 sec Start 51: arrow-orc-adapter-test 51/51 Test apache#51: arrow-orc-adapter-test ............... Passed 1.92 sec 98% tests passed, 1 tests failed out of 51 Label Time Summary: arrow-tests = 27.38 sec (27 tests) arrow_compute = 45.11 sec (14 tests) arrow_dataset = 1.21 sec (7 tests) arrow_ipc = 6.20 sec (3 tests) unittest = 79.91 sec (51 tests) Total Test time (real) = 79.99 sec The following tests FAILED: 20 - arrow-utility-test (Failed) Errors while running CTest ``` Closes apache#7142 from kiszk/ARROW-8754 Authored-by: Kazuaki Ishizaki <ishizaki@jp.ibm.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
andygrove
pushed a commit
that referenced
this pull request
May 13, 2020
…lure on big-endian platforms This PR gets an element data using an endianless API in Flatbuffer instead of getting a pointer. This can fix a failure of TestPlasmaSerialization.DeleteReply in plasma-serialization-tests. Without this PR ``` 1: [==========] Running 14 tests from 1 test case. 1: [----------] Global test environment set-up. 1: [----------] 14 tests from TestPlasmaSerialization 1: [ RUN ] TestPlasmaSerialization.CreateRequest 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-kk8t88p9/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.CreateRequest (2 ms) 1: [ RUN ] TestPlasmaSerialization.CreateReply 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-97gspx5v/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.CreateReply (0 ms) 1: [ RUN ] TestPlasmaSerialization.SealRequest 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-dkksx76p/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.SealRequest (1 ms) 1: [ RUN ] TestPlasmaSerialization.SealReply 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-oqbs9vm0/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.SealReply (0 ms) 1: [ RUN ] TestPlasmaSerialization.GetRequest 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-d7q6h5q4/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.GetRequest (1 ms) 1: [ RUN ] TestPlasmaSerialization.GetReply 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-sxsncs72/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.GetReply (1 ms) 1: [ RUN ] TestPlasmaSerialization.ReleaseRequest 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-njc3g3b5/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.ReleaseRequest (0 ms) 1: [ RUN ] TestPlasmaSerialization.ReleaseReply 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-917ybxmo/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.ReleaseReply (1 ms) 1: [ RUN ] TestPlasmaSerialization.DeleteRequest 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-1kwauefv/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.DeleteRequest (0 ms) 1: [ RUN ] TestPlasmaSerialization.DeleteReply 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-4ftq28pq/fileXXXXXX' 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:271: Failure 1: Value of: error_vec[0] == PlasmaError::ObjectExists 1: Actual: false 1: Expected: true 1: [ FAILED ] TestPlasmaSerialization.DeleteReply (1 ms) 1: [ RUN ] TestPlasmaSerialization.EvictRequest 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-vl97870w/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.EvictRequest (0 ms) 1: [ RUN ] TestPlasmaSerialization.EvictReply 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-3am9a6rv/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.EvictReply (1 ms) 1: [ RUN ] TestPlasmaSerialization.DataRequest 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-plye5tmm/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.DataRequest (0 ms) 1: [ RUN ] TestPlasmaSerialization.DataReply 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma/test/serialization_tests.cc:87: file path: '/tmp/ser-test-mbu6lqsq/fileXXXXXX' 1: [ OK ] TestPlasmaSerialization.DataReply (1 ms) 1: [----------] 14 tests from TestPlasmaSerialization (9 ms total) 1: 1: [----------] Global test environment tear-down 1: [==========] 14 tests from 1 test case ran. (9 ms total) 1: [ PASSED ] 13 tests. 1: [ FAILED ] 1 test, listed below: 1: [ FAILED ] TestPlasmaSerialization.DeleteReply 1: 1: 1 FAILED TEST 1: /home/ishizaki/Arrow/arrow/cpp/src/plasma 1/3 Test #1: plasma-serialization-tests .......***Failed 0.27 sec ... 3/3 Test apache#3: plasma-external-store-tests ...... Passed 0.46 sec ``` With this PR ``` $ ctest Test project /home/ishizaki/Arrow/arrow/cpp/src/plasma Start 1: plasma-serialization-tests 1/3 Test #1: plasma-serialization-tests ....... Passed 0.26 sec Start 2: plasma-client-tests 2/3 Test #2: plasma-client-tests .............. Passed 14.99 sec Start 3: plasma-external-store-tests 3/3 Test apache#3: plasma-external-store-tests ...... Passed 0.49 sec 100% tests passed, 0 tests failed out of 3 Label Time Summary: plasma-tests = 15.74 sec (3 tests) unittest = 15.74 sec (3 tests) Total Test time (real) = 15.74 sec ``` Closes apache#7148 from kiszk/ARROW-8759 Authored-by: Kazuaki Ishizaki <ishizaki@jp.ibm.com> Signed-off-by: Antoine Pitrou <antoine@python.org>
andygrove
pushed a commit
that referenced
this pull request
Apr 8, 2021
From a deadlocked run... ``` #0 0x00007f8a5d48dccd in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007f8a5d486f05 in pthread_mutex_lock () from /lib64/libpthread.so.0 #2 0x00007f8a566e7e89 in arrow::internal::FnOnce<void ()>::FnImpl<arrow::Future<Aws::Utils::Outcome<Aws::S3::Model::ListObjectsV2Result, Aws::S3::S3Error> >::Callback<arrow::fs::(anonymous namespace)::TreeWalker::ListObjectsV2Handler> >::invoke() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so apache#3 0x00007f8a5650efa0 in arrow::FutureImpl::AddCallback(arrow::internal::FnOnce<void ()>) () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so apache#4 0x00007f8a566e67a9 in arrow::fs::(anonymous namespace)::TreeWalker::ListObjectsV2Handler::SpawnListObjectsV2() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so apache#5 0x00007f8a566e723f in arrow::fs::(anonymous namespace)::TreeWalker::WalkChild(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int) () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so apache#6 0x00007f8a566e827d in arrow::internal::FnOnce<void ()>::FnImpl<arrow::Future<Aws::Utils::Outcome<Aws::S3::Model::ListObjectsV2Result, Aws::S3::S3Error> >::Callback<arrow::fs::(anonymous namespace)::TreeWalker::ListObjectsV2Handler> >::invoke() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so apache#7 0x00007f8a5650efa0 in arrow::FutureImpl::AddCallback(arrow::internal::FnOnce<void ()>) () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so apache#8 0x00007f8a566e67a9 in arrow::fs::(anonymous namespace)::TreeWalker::ListObjectsV2Handler::SpawnListObjectsV2() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so apache#9 0x00007f8a566e723f in arrow::fs::(anonymous namespace)::TreeWalker::WalkChild(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int) () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so apache#10 0x00007f8a566e74b1 in arrow::fs::(anonymous namespace)::TreeWalker::DoWalk() () from /arrow/r/check/arrow.Rcheck/arrow/libs/arrow.so ``` The callback `ListObjectsV2Handler` is being called recursively and the mutex is non-reentrant thus deadlock. To fix it I got rid of the mutex on `TreeWalker` by using `arrow::util::internal::TaskGroup` instead of manually tracking the #/status of in-flight requests. Closes apache#9842 from westonpace/bugfix/arrow-12040 Lead-authored-by: Weston Pace <weston.pace@gmail.com> Co-authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi @andygrove, here's another small one. I've fixed the int96 reader to follow the Julian epoch way, and as a result the timestamp is now read correctly. Please see this notebook https://gist.github.com/nevi-me/574038fdec8e9c207f661813789d58fb for the Python output of the timestamps.
Here's verification of the first record: