Ich möchte eine Parkettdatei auch in Ruby erstellen

Hintergrund

Pythons "Pandas" und "DataFrame.to_parquet" sind so gut, dass "Python die Art ist, mit Parkettdateien umzugehen". https://pandas.pydata.org/pandas-docs/version/0.22.0/generated/pandas.DataFrame.to_parquet.html#pandas.DataFrame.to_parquet

Ich fand es einfach, mit Ruby zu machen, also werde ich es teilen.

Weise

Sie können das offizielle Apache-Juwel verwenden. (Beachten Sie, dass ≠ roter Pfeil) https://github.com/apache/arrow/tree/master/ruby/red-parquet

Überprüfung

Dateierstellung

Edelsteininstallation

$ gem install red-parquet

Testdatei erstellen (csv)

$ echo colA,colB > test.csv
$ echo 1,2  >> test.csv

Umwandlungsprozess auf Rubin (csv-> Parkett)

$ irb
irb(main):001:0> require "parquet"
=> true
irb(main):002:0> table = Arrow::Table.load("./test.csv")
=> #<Arrow::Table:0x7fbb0d3e6708 ptr=0x7fbb0e0a4010>
	 colA	 colB
0	    1	    2
irb(main):003:0> table.save("./test.parquet")
=> true

Bestätigung

Erhöhen Sie test.parquet auf S3 und überprüfen Sie dies mit S3 Select

スクリーンショット 2020-06-08 19.08.04.png

erledigt! !! (Er macht auch Typinferenz ...!)

Bemerkungen

Wenn Sie diesen Bereich lesen, scheinen Sie Dateien auch mit Ruby unerwartet bedienen zu können. https://www.slideshare.net/kou/datasciencerb

Recommended Posts

Ich möchte eine Parkettdatei auch in Ruby erstellen
[Ruby] Ich möchte einen Methodensprung machen!
Ich möchte irgendwann sogar in Kotlin sein
Ich möchte den Wert in Ruby erhalten
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (PowerMockito Edition)
Ich möchte ein kleines Symbol in Rails verwenden
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
Ich möchte eine bestimmte Datei mit WatchService überwachen
Ich möchte eine Funktion in der Rails Console definieren
Ich möchte in RSpec auf einen GoogleMap-Pin klicken
Ich möchte eine generische Anmerkung für einen Typ erstellen
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 (Black Magic) ausgeben.
Ich möchte mit Ruby (ABC177E) eine schnelle Primfaktorisierung durchführen.
Ich möchte ein Formular erstellen, um die Kategorie [Schienen] auszuwählen
Ich möchte das Flash-Attribut im Frühjahr, auch wenn ich einen Reverse-Proxy festgelegt habe! (TU es nicht)
Ich habe versucht, eine einfache Karten-App in Android Studio zu erstellen
Ich möchte den Wert von Attribute in Selenium of Ruby ändern
Ich möchte eine Webanwendung entwickeln!
Ich möchte ein schönes build.gradle schreiben
Ich möchte einen Unit Test schreiben!
Ich möchte @Autowired in Servlet verwenden
Wenn in Ruby Hash [: a] [: b] [: c] = 0 ist, möchten wir, dass Sie rekursiv erweitern, auch wenn der Schlüssel nicht vorhanden ist
[Ruby] Ich möchte nur das ungerade Zeichen in der Zeichenfolge ausgeben
Ich habe versucht, ein übergeordnetes Wertklasseobjekt in Ruby zu erstellen
So erstellen Sie eine Abfrage mithilfe von Variablen in GraphQL [Verwenden von Ruby on Rails]
Ich möchte im Dialogfeld mehrere Elemente mit einem benutzerdefinierten Layout auswählen
So erstellen Sie eine Zip-Datei beim Gruppieren von Datenbanksuchergebnissen in Java
Ich möchte mit Jakarta EE 8 mit Java 11 ein dunkles Web-SNS erstellen
[Ruby] Ich möchte veröffentlichte Artikel in der Reihenfolge des neuesten Datums anzeigen
Ich möchte ein chinesisches (koreanisches) PDF mit dünnen Berichten anzeigen
Wenn Sie mit Ruby eine Zip-Datei erstellen möchten, ist dies Rubyzip.
Ich möchte für jedes Array mit Lambda-Ausdruck in Java
"Lehrer, ich möchte im Frühjahr eine Anmeldefunktion implementieren" ① Hallo Welt
Ich möchte nach Tabulatortrennzeichen mit Rubin sortieren
Ich möchte eine Servlet-War-Datei mit OpenJDK unter CentOS7 erstellen. Ohne mvn. Ohne Internetverbindung.
Ich möchte eine E-Mail in Java senden.
Versuchen Sie, ein Bulletin Board in Java zu erstellen
Ich möchte APP_HOME an Logback in Gradle übergeben
Ich möchte eine Datei mit Ruby im Internet herunterladen und lokal speichern (mit Vorsicht).
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Ich möchte eine einfache Wiederholung einer Zeichenkette schreiben
Ich habe versucht, eine LINE-Klon-App zu erstellen
Ich habe eine Ruby-Erweiterungsbibliothek in C erstellt
So erstellen Sie ein Thema in Liferay 7 / DXP
Ich möchte eine Struktur für die Ausnahmebehandlung entwerfen
rsync4j - Ich möchte rsync in Java berühren.
So erstellen Sie einfach ein Pulldown mit Rails
Ich habe versucht, Alexa-Fähigkeiten mit Java zu erstellen
[Android] Ich möchte einen ViewPager erstellen, der für Tutorials verwendet werden kann
Erstellen Sie eine Windows-Desktopanwendung in Ruby und verteilen Sie eine ausführbare Datei (.exe)!
Ich möchte in der Lage sein, Dateien mit refile mit administrate [rails6] zu lesen.
Lassen Sie uns eine TODO-Anwendung mit Java 2 erstellen. Ich möchte eine Vorlage mit Spring Initializr erstellen und eine Hello-Welt erstellen
[Einführung] Erstellen Sie eine Ruby on Rails-Anwendung