Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
9ed32b6
Make write_parquet() generic, internal impl using streams rather than…
romainfrancois Sep 20, 2019
aa34095
passing down the right stream
romainfrancois Sep 20, 2019
0e09ac8
lint
romainfrancois Sep 20, 2019
1b84ad4
Exposing classes parquet::arrow::ArrowWriterProperties and parquet::a…
romainfrancois Sep 23, 2019
09ea0ad
+ ParquetWriterProperties$create() and associated ParquetWriterProper…
romainfrancois Sep 24, 2019
fa8990b
Expose options from ParquetWriterProperties and ParquetArrowWriterPro…
romainfrancois Sep 24, 2019
b8337e1
lint
romainfrancois Sep 24, 2019
2dd2cb9
+ compression_level= in write_parquet()
romainfrancois Sep 25, 2019
1e3b5b6
document()
romainfrancois Sep 25, 2019
2f2ae00
More flexible compression= and compression_level=
romainfrancois Sep 25, 2019
4055f67
More flexible arguments use_dictionary= and write_statistics=
romainfrancois Sep 25, 2019
1166264
using make_valid_time_unit()
romainfrancois Sep 26, 2019
738ea6e
Remove $default() methods and use $create() wityh default arguments i…
romainfrancois Sep 26, 2019
72caaab
using assert_that()
romainfrancois Sep 26, 2019
7f1c184
align arguments following tidyverse style guide
romainfrancois Sep 26, 2019
d318a66
==.Table
romainfrancois Sep 26, 2019
6c4f003
add test helper so that we actually can test parquet roundtrip
romainfrancois Sep 26, 2019
86d9ff4
Remove the _ from builder classes
romainfrancois Sep 26, 2019
004cf90
M%ake compression_from_name() vectorized
romainfrancois Sep 26, 2019
9bee8de
define and use internal make_valid_version() function
romainfrancois Sep 26, 2019
1fdcc0b
suggestsions from @nealrichardson
romainfrancois Sep 26, 2019
00cc214
abstract various ParquetWriterPropertiesBuilder$set_*() methods
romainfrancois Sep 26, 2019
5ade52d
wrong length for use_dictionary and write_statistics
romainfrancois Sep 27, 2019
c5549de
Test ==.Table
romainfrancois Sep 27, 2019
66c51fd
added all.equal.Object() that uses ==
romainfrancois Sep 27, 2019
45ec63b
Update r/R/parquet.R
romainfrancois Sep 27, 2019
56dac33
Move read_parquet() and write_parquet() to top of the file
romainfrancois Sep 27, 2019
ecd9218
rework documentation for write_parquet()
romainfrancois Sep 27, 2019
9aff79b
implement ==.Object that calls $Equals instead of implementing for ea…
romainfrancois Sep 27, 2019
50555f8
rename arguments to `x` and `sink`
romainfrancois Sep 27, 2019
413dd41
test make_valid_version()
romainfrancois Sep 27, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions r/NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,12 @@
S3method("!=",Object)
S3method("$",RecordBatch)
S3method("$",Table)
S3method("==",Array)
S3method("==",DataType)
S3method("==",Field)
S3method("==",Message)
S3method("==",RecordBatch)
S3method("==",Schema)
S3method("==",Object)
S3method("[",RecordBatch)
S3method("[",Table)
S3method("[[",RecordBatch)
S3method("[[",Table)
S3method(all,equal.Object)
S3method(as.data.frame,RecordBatch)
S3method(as.data.frame,Table)
S3method(as.raw,Buffer)
Expand Down Expand Up @@ -84,6 +80,7 @@ export(MessageType)
export(MockOutputStream)
export(ParquetFileReader)
export(ParquetReaderProperties)
export(ParquetVersionType)
export(RandomAccessFile)
export(ReadableFile)
export(RecordBatchFileReader)
Expand Down Expand Up @@ -173,6 +170,7 @@ importFrom(rlang,dots_n)
importFrom(rlang,enquo)
importFrom(rlang,enquos)
importFrom(rlang,is_false)
importFrom(rlang,is_integerish)
importFrom(rlang,list2)
importFrom(rlang,quo_is_null)
importFrom(rlang,warn)
Expand Down
3 changes: 0 additions & 3 deletions r/R/array.R
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,3 @@ length.Array <- function(x) x$length()

#' @export
as.vector.Array <- function(x, mode) x$as_vector()

#' @export
`==.Array` <- function(x, y) x$Equals(y)
12 changes: 11 additions & 1 deletion r/R/arrow-package.R
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#' @importFrom R6 R6Class
#' @importFrom purrr map map_int map2
#' @importFrom assertthat assert_that
#' @importFrom rlang list2 %||% is_false abort dots_n warn enquo quo_is_null enquos
#' @importFrom rlang list2 %||% is_false abort dots_n warn enquo quo_is_null enquos is_integerish
#' @importFrom Rcpp sourceCpp
#' @importFrom tidyselect vars_select
#' @useDynLib arrow, .registration = TRUE
Expand Down Expand Up @@ -66,6 +66,16 @@ Object <- R6Class("Object",
#' @export
`!=.Object` <- function(lhs, rhs) !(lhs == rhs)

#' @export
`==.Object` <- function(x, y) {
x$Equals(y)
}

#' @export
all.equal.Object <- function(target, current, ...) {
target == current
}

shared_ptr <- function(class, xp) {
if (!shared_ptr_is_null(xp)) class$new(xp)
}
Expand Down
120 changes: 118 additions & 2 deletions r/R/arrowExports.R

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion r/R/buffer.R
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@
Buffer <- R6Class("Buffer", inherit = Object,
public = list(
ZeroPadding = function() Buffer__ZeroPadding(self),
data = function() Buffer__data(self)
data = function() Buffer__data(self),
Equals = function(other) Buffer__Equals(self, other)
),

active = list(
Expand Down
3 changes: 3 additions & 0 deletions r/R/chunked-array.R
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ ChunkedArray <- R6Class("ChunkedArray", inherit = Object,
}
}
out
},
Equals = function(other) {
ChunkedArray__Equals(self, other)
}
),
active = list(
Expand Down
14 changes: 11 additions & 3 deletions r/R/compression.R
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,26 @@
#' @rdname Codec
#' @name Codec
#' @export
Codec <- R6Class("Codec", inherit = Object)
Codec <- R6Class("Codec", inherit = Object,
active = list(
name = function() util___Codec__name(self),
level = function() abort("Codec$level() not yet implemented")
)
)
Codec$create <- function(type = "gzip", compression_level = NA) {
if (is.character(type)) {
type <- unique_ptr(Codec, util___Codec__Create(
CompressionType[[match.arg(toupper(type), names(CompressionType))]],
compression_level
compression_from_name(type), compression_level
))
}
assert_is(type, "Codec")
type
}

compression_from_name <- function(name) {
map_int(name, ~CompressionType[[match.arg(toupper(.x), names(CompressionType))]])
}

#' @title Compressed stream classes
#' @rdname compression
#' @name compression
Expand Down
6 changes: 6 additions & 0 deletions r/R/enums.R
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,9 @@ CompressionType <- enum("Compression::type",
FileType <- enum("FileType",
NonExistent = 0L, Unknown = 1L, File = 2L, Directory = 3L
)

#' @export
#' @rdname enums
ParquetVersionType <- enum("ParquetVersionType",
PARQUET_1_0 = 0L, PARQUET_2_0 = 1L
)
24 changes: 12 additions & 12 deletions r/R/feather.R
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@

#' Write data in the Feather format
#'
#' @param data `data.frame` or RecordBatch
#' @param stream A file path or an OutputStream
#' @param x `data.frame` or RecordBatch
#' @param sink A file path or an OutputStream
#'
#' @export
#' @examples
Expand All @@ -30,20 +30,20 @@
#' })
#' }
#' @include arrow-package.R
write_feather <- function(data, stream) {
if (is.data.frame(data)) {
data <- record_batch(data)
write_feather <- function(x, sink) {
if (is.data.frame(x)) {
x <- record_batch(x)
}
assert_is(data, "RecordBatch")
assert_is(x, "RecordBatch")

if (is.character(stream)) {
stream <- FileOutputStream$create(stream)
on.exit(stream$close())
if (is.character(sink)) {
sink <- FileOutputStream$create(sink)
on.exit(sink$close())
}
assert_is(stream, "OutputStream")
assert_is(sink, "OutputStream")

writer <- FeatherTableWriter$create(stream)
ipc___TableWriter__RecordBatch__WriteFeather(writer, data)
writer <- FeatherTableWriter$create(sink)
ipc___TableWriter__RecordBatch__WriteFeather(writer, x)
}

#' @title FeatherTableWriter class
Expand Down
5 changes: 0 additions & 5 deletions r/R/field.R
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,6 @@ Field$create <- function(name, type, metadata) {
shared_ptr(Field, Field__initialize(name, type, TRUE))
}

#' @export
`==.Field` <- function(lhs, rhs){
lhs$Equals(rhs)
}

#' @param name field name
#' @param type logical type, instance of [DataType]
#' @param metadata currently ignored
Expand Down
3 changes: 0 additions & 3 deletions r/R/message.R
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,6 @@ Message <- R6Class("Message", inherit = Object,
)
)

#' @export
`==.Message` <- function(x, y) x$Equals(y)

#' @title class arrow::MessageReader
#'
#' @usage NULL
Expand Down
Loading