Skip to content

ARROW-16887: [R][Docs] Update Filesystem Vignette for GCS - #13601

Merged
kszucs merged 13 commits into
apache:masterfrom
wjones127:ARROW-16887-doc-gcs
Jul 25, 2022
Merged

ARROW-16887: [R][Docs] Update Filesystem Vignette for GCS#13601
kszucs merged 13 commits into
apache:masterfrom
wjones127:ARROW-16887-doc-gcs

Conversation

@wjones127

@wjones127wjones127 commented Jul 13, 2022

Copy link
Copy Markdown
Member

This PR:

  • Replaces all references to the Ursa Labs bucket with the new voltrondata-labs-datasets bucket.
  • Adds a new gs_bucket() function to R, which parallels the design of the s3_bucket() function.
  • Updates the fs.Rmd vignette to also discuss GCS. Left discussion about authentication for a follow-up, partly because I am still confused how GCP auth works for non-application use.

@github-actions

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

Comment threadr/vignettes/fs.Rmd Outdated
Comment on lines 17 to 20

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC we recently changed how the Linux installation works. Do these lines still apply?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nealrichardson do you know the answer to this?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oof, the answer is "it depends", it's not on by default in the pure source build, but if your system meets the requirements (which are too fussy to expand on here), you may get a prebuilt libarrow binary, which (may) have support for S3 and GCS.

Comment threaddocs/source/python/dataset.rst Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there also a reason for removing the partitioning option?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a newer version of the dataset that is Hive partitioned, so doesn't require explicitly passing partitioning.

Comment threadr/tests/testthat/test-filesystem.R Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens on Windows exactly? These bare FIXMEs are not explanatory.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was copied over from the S3 tests. I'm not sure what happens, but I can try and see.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I deleted the skips and seems to run fine locally and in CI.

Comment threadr/vignettes/fs.Rmd Outdated
Comment threadr/.gitignore Outdated

@wjones127wjones127Jul 19, 2022

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added this because it got a lot of files in it while building the R doc site; lmk if there's a good reason to not add it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No objection; what creates this?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I run pkgdown::build_site() within RStudio, during the "Installing package into temporary library" it creates this directory.

Comment threadr/man/array.Rd Outdated
Comment on lines 46 to 44

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't intentional. I just ran make doc locally. Is something about my R out of date, or does that command need an update?

@wjones127wjones127Jul 19, 2022

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Upgrading to roxygen2 7.2 fixed this.

@wjones127
wjones127 marked this pull request as ready for review July 19, 2022 17:55
@wjones127

Copy link
Copy Markdown
MemberAuthor

cc @thisisnic would you be wiling to review?

@pitroupitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't read in detail, but this looks fine to me overall.

@nealrichardsonnealrichardson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few suggestions here and there but overall LGTM, thanks for taking this on.

Comment threadr/.gitignore Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No objection; what creates this?

Comment threadr/R/filesystem.R Outdated
$ tip_amount : num [1:10918] 3 0 4 1 1 6 0 1.35 0 5.9 ...
$ total_amount : num [1:10918] 18.8 13.3 20.3 15.8 13.3 ...
$ passenger_count: int [1:10918] 3 2 1 1 1 1 1 1 1 3 ...
$ tip_pct : num [1:10918] 0.1596 0 0.197 0.0633 0.0752 ...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not in scope here (and probably not relevant for this exact line, this just made me think of it): we should show an example of glimpse() in this vignette somewhere.

Comment threadr/vignettes/fs.Rmd Outdated
Comment on lines 17 to 20

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oof, the answer is "it depends", it's not on by default in the pure source build, but if your system meets the requirements (which are too fussy to expand on here), you may get a prebuilt libarrow binary, which (may) have support for S3 and GCS.

Comment threadr/vignettes/fs.Rmd Outdated
Comment threadr/vignettes/fs.Rmd Outdated
```

tells the `S3FileSystem` that it should allow the creation of new buckets and to
talk to Google Storage instead of S3. The latter works because GCS implements an

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

! Why didn't we do this before then?!

Comment threadr/vignettes/fs.Rmd Outdated
```
gs://anonymous@voltrondata-labs-datasets/nyc-taxi/?retry_limit_seconds=10
```

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be worth showing how this is equivalent to GcsFileSystem$create(anonymous = TRUE, retry_limit_seconds = 10)$path("voltrondata-labs-datasets/nyc-taxi/") or whatever it is. As in, URI query params are useful but not the only way to provide these options.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, since the FS objects are introduced below, maybe this note about equivalence should be introduced down there.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I wasn't sure I wanted to do this refactor, but it did feel like it would almost be easier to introduce GcsFileSystem$create() and then explain options in URIs.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've reordered them so we introduce the filesystems and that made it more natural to make the statement you suggested.

@thisisnic

Copy link
Copy Markdown
Member

cc @thisisnic would you be wiling to review?

With combined vacation + rstudio::conf I won't have time to look at this til 2nd August, so probably best not wait for me!

@kszucs

Copy link
Copy Markdown
Member

@jonkeane@nealrichardson can we go ahead and merge it?

@nealrichardson

Copy link
Copy Markdown
Member

@jonkeane@nealrichardson can we go ahead and merge it?

I already approved and don't feel the need to re-review, I'm sure @wjones127 took care of everything, please merge.

@kszucskszucs left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merging, thanks @wjones127!

@kszucs
kszucs merged commit 42647dc into apache:masterJul 25, 2022
@ursabot

Copy link
Copy Markdown

Benchmark runs are scheduled for baseline = ab8c92c and contender = 42647dc. 42647dc is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Failed ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Finished ⬇️0.07% ⬆️0.03%] test-mac-arm
[Finished ⬇️0.54% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.25% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Failed] 42647dcd ec2-t3-xlarge-us-east-2
[Finished] 42647dcd test-mac-arm
[Finished] 42647dcd ursa-i9-9960x
[Finished] 42647dcd ursa-thinkcentre-m75q
[Failed] ab8c92cf ec2-t3-xlarge-us-east-2
[Finished] ab8c92cf test-mac-arm
[Finished] ab8c92cf ursa-i9-9960x
[Finished] ab8c92cf ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

@ursabot

Copy link
Copy Markdown

['Python', 'R'] benchmarks have high level of regressions.
ursa-i9-9960x

nealrichardson pushed a commit that referenced this pull request Oct 4, 2022
This PR:
* Moves minio integration tests into a generic suite that is now run on minio (S3 emulator) and GCS testbench (GCS emulator). This is run in CI.
* Move Minio and GCS test server initialization to within the tests. This makes it easier to setup the background processes in a cross-platform way.
* MinIO and GCS tests are now run on R Ubuntu CI. MinIO is now run on Windows CI. I couldn't get GCS to run on Windows CI yet, due to some issue where the tests hang (I believe this is an issue with the test setup and not the functionality). See follow up at: [ARROW-17149: [R] Enable GCS tests for Windows](https://issues.apache.org/jira/browse/ARROW-17149)
* Sets the default retry timeout to 15 seconds to mitigate issue described by ARROW-17020. This affects explicitly-created fs with `GcsFileSystem$create()` (and `gs_bucket()` introducted in #13601), but not URIs.
Authored-by: Will Jones <willjones127@gmail.com>
Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>
kou pushed a commit that referenced this pull request Feb 20, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

@wjones127@thisisnic@kszucs@nealrichardson@ursabot@ianmcook@pitrou