Scala日記

Scalaの備忘録。ときどき研究の話。

2015-07-01から1ヶ月間の記事一覧

Unicodeの拡張領域の文字を一文字とカウントする

ScalaやJavaは拡張領域の文字をサロゲートペアで表すので、文字数をカウントしたいときに単純に文字列のサイズを取ると実際の文字数とずれてしまう。Java 1.5からはUnicodeのコードポイント を数えるメソッドが追加されているので、これを使えば正確に文字数…

UTF-8のはずのテキストの処理中に MalformedInputException で落ちる場合の対処

Webなどから取ってきた巨大な文書ファイルを処理するとき、UTF-8エンコーディングで処理したはずだったのに、中間処理に使った言語の仕様なのか処理ミスなのか、とにかく何らかの理由があって、Scalaで読み込む際に MalformedInputException が発生してしま…

Spark用sbtプロジェクトの設定

プロジェクトセットアップ build.sbtに以下のコードを書いて、sbt update gist.github.com ソースを書く src/main/scala/SampleApp.scala gist.github.com ビルド sbt package 実行 spark-submit \ --class SampleApp \ --master yarn-cluster \ --num-execu…

xmlファイルをstdinから読み込む

import scala.xml.parsing.ConstructingParser val doc = ConstructingParser.fromSource(Source.stdin, preserveWS = true).document()

sbtで実行するときにstdoutにsbtのログを出さないようにする

sbt経由でプログラムを実行すると [info] Loading project definition from... [info] Set current project to ... [info] Running ... や [success] Total time: 3 s, completed 2015/07/... などが「標準出力」に出てしまって、出力をリダイレクトして処理…