背景 RailsでCSVを返す時、10万データくらいのものを普通に処理するとメモリを食い潰したり、処理が遅かったりする。 そこで解決策を探していたら、RustでRailsの代わりにCSVを作るという素晴らしい記事に出会った。 この記事はPostgresやNginxを使ってたが、私はMySQLを使っており、Railsのアプリケーション内で完結したかったので、参考にしながら試験的に作って見た。 お断り Railsをすでに理解していることを前提に進めます。 初心者の方へ環境構築周りを最後の方におまけとして書いておきますので参考にしてください。 筆者はRust初心者ですのでアドバイスを頂けるととても助かります。 環境 Ruby 2.3.3 Rust 1.14.0 Rails 5.0.1 Gemfileは基本デフォルト source 'https://rubygems.org' git_source
Let’s say that we have to import data from some social network. We will be provided with CSV file generated every 5 minutes containing list of posts that were added/liked/commented since the beginning of the day together with likes’ and comments’ counts for each post. As you can imagine the file will grow in size during the day; also we are looking at not only inserting new posts but also updating
You create a Mira project. A project is simply a home for one or more CSV files, along with a datapackage.json file. More on that now... You provide Mira with information about your CSV files by uploading a datapackage.json file to the project. This file provides metadata for the CSV files you plan to upload to the project. i.e. file names, columns names and types, delimiters etc. See here and her
RubyでCSVファイルを処理するコードを書くときに、どのライブラリーを使えばいいのかいつも戸惑う。 今回も仕事でCSVファイルからデータを読み込んで、HTMLに出力するというちょっとしたスクリプトを書く必要があったのだが、またもや戸惑ってしまった。 これを機にどのような方法があるのか整理してみた。 CSVの取り扱いには、下記の3つの方法があるようだ。 通常のファイルとしてCSVを扱う Rubyに組み込まれているCSVライブラリーを利用する FasterCSVライブラリーを利用する 以下それぞれ詳しく説明していく。 1. 通常のファイルとしてCSVを取り扱う方法 ファイル入出力の関数を利用して、普通の方法でファイルを開き、一行ずつデータを読み込む方法である。 下記のサンプルはopenメソッドでファイルを開いた後、getsメソッドで一行ずつ読み取り、配列に格納している。なおgetsメソッドで
こんにちは!SQL 大好き kano-e です。 「データ更新のたびに新規にテーブルを作って、そこにデータを投入したい」とか。 「お客様を DB に登録したら、合わせてそのお客様専用のテーブルを作っておきたい」とか。 「とにかくこの CSV の内容を DB に投入したい、10万件」とか。 こんな状況、意外と遭遇していませんか? この記事では、そんな時に多分役立つ「Rails で動的にテーブルを作成して、大きな CSV のデータを PostgreSQL にインポートする方法」について、思いつくままにまとめてみました。 合わせて読みたい「動的に作成したテーブルを db/schema.rb に含めない方法」のおまけ付きです。 はじめに この記事では、以下の内容についてまとめています。 Rails で動的にテーブルを CREATE/DROP する テーブルに対応するモデルを用意せずに SQL を組
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く