タグ

ブックマーク / www.ne.jp (25)

  • Scalaリテラルメモ(Hishidama's Scala literal Memo)

    数字を並べるとInt型。 表現できる範囲(Math.MIN_INT~MAX_INT、32bit整数)を超えるとエラー。

  • Scala tryメモ(Hishidama's Scala try Memo)

    throw 例外(Throwable(Exception・Error))を発生させる(投げる・スローする・throw)。 throw 例外 throw new Exception("メッセージ") try~catch~finally 発生した例外をキャッチする(捕捉する・catch)。 try { 式 … } catch { case 変数:例外クラス => 式1 … } finally { 式 } try節の中で例外が発生したら(例外が投げられたら(throwされたら))、catch節でその例外を捕捉(キャッチ)する。 例外が発生してもしなくても、finally節は実行される。 catch節の形状はmatch式と似ている。 ただし、match式が“どのcaseにもマッチしなかった”場合はMatchErrorを発生させるのに対し、 catch節でどの例外にもマッチしなかった場合はtryの外

  • Scalaリフレクションメモ(Hishidama's Scala reflection Memo)

    ※ピリオド「.」やカンマ「,」といった文字(文法上使用されているので、通常は識別子として使用しない文字だと思われる)は、Unicodeの文字コード「$u002E」や「$002C」になるようだ。[2015-09-22] これらの変換を行うのに、NameTransformerオブジェクトが使える。 scala> import scala.reflect.NameTransformer import scala.reflect.NameTransformer scala> NameTransformer.encode("name_=") res1: String = name_$eq scala> NameTransformer.decode("name_$eq") res2: String = name_= 参考: kmizuさんのscala_tips コンパニオンオブジェクトの取得 ケースク

  • HiveQL TABLEメモ(Hishidama's Apache Hive TABLE Memo)

    HiveQL(HiveのSQLっぽい独自言語)のテーブルに関するメモ。 Hiveでは操作対象のファイル(基的にはHDFS上のファイル)をテーブルと呼んで扱う。 「テーブル」と呼んでいても、データの実体はファイル。 CREATE CREATE [EXTERNAL] TABLE [IF NOT EXISTS] テーブル名 [(項目名 型 [COMMENT コメント], …)] [COMMENT テーブルのコメント] [PARTITIONED BY (項目名 型 [COMMENT コメント], …)] [CLUSTERED BY (項目名, …) [STORED BY (項目名 [ASC|DESC], …)] INTO バケット数 BUCKETS] [ROW FORMAT 行フォーマット] [ STORED AS ファイルフォーマット] | STORED BY 'クラス名' [WITH SER

    nobusue
    nobusue 2014/12/01
  • Spark Streamingメモ(Hishidama's Apache Spark Streaming Memo)

    概要 Spark Streamingは、流れてくるデータ(ストリーム)を処理する機能。 次々に流れてくるデータを(短い間隔で)繰り返しバッチ処理する。 大抵は結果をファイルシステム上に格納する。バッチ処理の都度書き込まれるので、ファイルが増えていくことになる。 短い間隔でバッチ処理を行う形なので、高スループット(単位時間当たりの処理能力が高い)であるが、レスポンス(応答時間)は遅くなる。 Spark Streamingを扱う場合、StreamingContextクラスを使う。 入力データはDStream(discretized stream、離散ストリーム)というクラスで扱う。 DStreamはRDDではないが、RDDと似たメソッドを持っている。(それらのメソッドを使って処理を記述することを「バッチ処理」と呼んでいるように思う) import org.apache.spark.stream

  • Javaリソース・プロパティーメモ(Hishidama's Java resource/property Memo)

    public void printTextResource() throws Exception { Class c = this.getClass(); ←このクラスの位置からの相対パスを指定 URL url = c.getResource("resource.txt"); InputStream is = url.openStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); while (br.ready()) { System.out.println(br.readLine()); } br.close(); is.close(); } リソースファイルをInputStreamとして取得できるので、後はリソースファイルの種類に応じて必要なメソッドを呼び出せばよい。 ※来はclose(

    nobusue
    nobusue 2014/10/12
    user.homeは$HOME(Unix)ないし%USERPROFILE%(Windows)に対応
  • Spark実行方法メモ(Hishidama's Apache Spark submit Memo)

    概要 Sparkアプリケーションを実行するにはspark-submitコマンドを使用する。 アプリケーションはコンパイルしてjarファイルにしておく必要がある。 例 Linux上でSparkアプリケーションを実行してみる例。 RDDサンプルのソースは以下のような感じ。 src/example/Example.scala: package example import org.apache.spark.SparkConf import org.apache.spark.SparkContext case class MyData(var n: Int) object Example { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("example") val sc = new Sp

  • Apache Sparkメモ(Hishidama's Apache Spark Memo)

    概要 [/2017-01-14] Hadoopとの比較 [/2014-09-12] サンプル [/2017-01-22] インストール 開発環境の構築 [2017-01-22] インストール [/2017-01-14] Sparkシェル [/2014-09-19] 実行方法 [/2017-01-18] API(RDD系) SparkContext [/2014-09-15] RDD [/2017-07-26] パーティション [2014-09-07] Kryo(シリアライズ) [/2015-01-15] Spark SQL [/2014-09-02] Hive操作 [2014-09-01] Streaming [2014-09-02] API(Dataset系) SparkSession [2017-01-14] Dataset [/2020-10-08] Encoder [2017-01

    nobusue
    nobusue 2014/08/27
    最新の1.0.2に対応してアップデートされてます。さすがわかりやすい。
  • WebHDFSメモ(Hishidama's Hadoop WebHDFS Memo)

    概要 WebHDFSは、HTTP(REST API)を使ってHDFSを操作するインターフェース。 (HttpFSのようなプロキシーサーバーではない。→tagomorisさんのHoop(httpfs)とwebhdfsの違い) 対応バージョンはHadoop1.0.0(CDH3u5)以降。 リンク whitestarさん WebHDFS tagomorisさん 2012-01-02 Hoop(httpfs)とwebhdfsの違い 2012-06-04 CDH4b2におけるWebHDFSとHttpFsについて 2012-06-05 WebHDFSとHttpFsについての簡単なベンチマーク 2012-08-14 CDH3u5でWebHDFS 2012-08-20 WebHDFSとHttpFs(Hoop)に見るHDFSクライアントチューニングの話 三上俊輔さん WebHDFSの性能評価 外道父さん タ

  • Spark0.3サンプル(Hishidama's Spark0.3 example Memo)

    概要 Sparkでのプログラミングは、Scalaのコレクションの関数の記述と似ている。 ScalaのコレクションではRangeやList等のインスタンスを作ってそれに対してmapやfilter関数を呼び出すが、 SparkではまずSparkContextというオブジェクトを作り、そこからコレクションっぽいオブジェクトやファイルを読み込むイテレーターを生成する。これらはRDDという名前のクラスで表されており、RDDにmapやfilterといった関数が定義されている。 import spark._ import SparkContext._ SparkContextは「spark.SparkContext」なので、spark配下のクラスをインポートする。 RDD関連は暗黙変換を利用しているので、SparkContextオブジェクトのメソッドもインポートしておく必要がある。 object Sam

  • Sqoopメモ(Hishidama's Apache Sqoop Memo)

    概要 インストール [/2012-06-19] 使用例 MySQL [/2012-06-01] PostgreSQL [/2012-06-01] Oracle [/2012-06-22] 使用上の注意 [2012-05-12] Sqoopの内部(ソース) [/2012-07-07] 概要 Sqoopは、RDBとHDFS間でデータ転送を行うツール。 2012/4/2にApacheのincubatorプロジェクトからトップレベルプロジェクトに昇格した。 データ転送はMapタスクのみのMapReduceで並列して分散実行される。 RDBへのアクセスはJDBC経由。 テーブル定義もRDBから読み込んでくれる。 import RDBのテーブルを読み込んでHDFS上のファイルに出力する。 差分だけ取り込む事も出来る(merge)。ただし削除は出来ない。 export HDFS上のファイルを読み込んでR

  • Gradle Javaライブラリー配布プラグイン(Hishidama's Gradle Java Library Distribution plugin Memo)

    Gradleでは、Java Library Distributionプラグインで配布用のアーカイブファイル (tarファイルやzipファイル)を作り出すことが出来る。 使用方法 ビルドスクリプトにJavaプラグインとJava Library Distributionプラグインを指定する。 build.gradle: apply plugin: 'java' apply plugin: 'java-library-distribution' ~ 実行方法 > gradle distZipzipファイルを作る場合 > gradle distTar …tarファイルを作る場合 これで、build/distributionsというディレクトリーの下に「プロジェクトディレクトリー名.zip」や「プロジェクトディレクトリー名.tar」 といったファイルが作られる。 (「gradle build」で

    nobusue
    nobusue 2014/05/12
    これを使えば依存JARをまとめて固められます
  • Ant「execタスク」メモ(Hishidama's ant-exec Memo)

    Windowsの例 JBossのrun.batを実行する例。 <?xml version="1.0" encoding="Shift_JIS"?> <project name="jboss" basedir=".." default="run"> <property name="jboss.home" location="C:/jboss/jboss-4.2.3.GA" /> <target name="run"> <exec executable="${jboss.home}/bin/run.bat" /> </target> </project> Eclipseのantで実行すると、Eclipseのコンソール上にメッセージ類が表示される。 そのコンソール上のコマンドが終了するまで、ant実行自体も終了しない。 spawn属性をtrueにして別プロセスにしてみると、ant実行はすぐ終了す

    nobusue
    nobusue 2014/04/17
  • Java slf4jメモ(Hishidama's Java slf4j Memo)

    概要 treeさんの『javaのロガーが多すぎて訳が解らないので整理してみました』によると、slf4jは(commons-loggingと同様の)ログ出力のインターフェースを定義しているライブラリーらしい。 ログを実際に出力するライブラリーとして、java.util.loggingやlog4jlogbackがあるらしい。 logbackの例 slf4j+logbackの例。 まず、slf4jとlogback-classicを使ったサンプルプロジェクトを作るgradleスクリプトは以下の通り。 build.gradle: apply plugin: 'java' apply plugin: 'eclipse' defaultTasks 'jar' group = 'com.example' version = '0.1-SNAPSHOT' sourceCompatibility = 1.7

  • Gradleメモ(Hishidama's Gradle Memo)

    インストール gradleコマンド [2013-10-31] Gradleラッパー [2014-04-01] プラグイン Javaプラグイン [/2021-12-19] Eclipseプラグイン [/2014-08-30] Scalaプラグイン [2014-08-30] 配布プラグイン [/2013-11-21] Mavenプラグイン [/2015-10-13] Maven Ppublishプラグイン [/2023-10-01] 署名プラグイン [/2023-10-01]

    nobusue
    nobusue 2013/12/24
    ひしだまさんもGradle
  • Jarファイルメモ(Hishidama's java-archive Memo)

    jar(ジャー)ファイル Javaアーカイブファイル。(Java Archiveを縮めてjar) 複数のclassファイルを圧縮して1つのアーカイブにまとめるので、配布するのに便利。 jarファイル 作成 / 確認 / 解凍 / 実行 異常なjarファイル [2008-12-20] 実行可能jarファイル [2007-01-09] 実行方法 [2007-01-09] 作成方法(マニフェストの作成) [/2008-08-01] -classpathとの併用 [/2009-04-12] jarファイルを動的に読み込む [/2014-04-16] jarファイル内のファイル一覧取得 [/2014-04-16] マニフェストの読み込み [/2009-01-15] jar(zip)ファイル内のファイルの読み込み [/2014-04-16] jarファイル内のメソッドの呼び出し [/2014-04-

    nobusue
    nobusue 2013/12/18
    jarファイルを扱うオブジェクトがあるのですね。使ったことなかった。
  • Ant独自タスクの作り方メモ(Hishidama's Ant make task Memo)

    タスクの使用(build.xml上の記述) コンパイル用クラスパス [2007-08-26] タスククラス [/2009-01-22] 実行(execute) [/2010-01-23] 属性(set) 候補選択 [2008-12-25] 子要素(add) [/2007-08-26] DataType 子要素の継承 [/2009-01-13] テキスト要素 [/2009-01-27] プロパティーの展開 [/2015-12-28] ログ出力の方法 タスク定義 独自に作ったタスクをbuild.xmlで使うには、antにそのクラスの場所を教えてやる必要がある。 taskdefを使えば、build.xml内で指定できる。(typedefでも可) build.xml: <taskdef name="original" …build.xml内で使う名称 classname="jp.hishidama

    nobusue
    nobusue 2013/11/14
    echoで指定したlevelとコマンドラインオプションの対応関係。-quietだと表示されるのはerror/warningまで。
  • Ant「antcallタスク」メモ(Hishidama's ant-antcall Memo)

    Ant:サブルーチン呼び出しタスク タスクの一部をサブルーチンのようにして呼び出すことが出来る。 depends antcall macrodef ant [2010-02-13] targetのdepends属性 targetタグには、dependsという属性がある。 これは、自分のターゲットを実行する前に、準備(前提条件)として呼び出す為の別タスク(ターゲット)を指定するもの。 例えば、コンパイルする前にコンパイル先のディレクトリーを作っておく、といった用途に使用する。 <?xml version="1.0" encoding="EUC-JP"?> <project name="depends_sample" basedir="." default="compile"> <property name="classes" location="../classes" /> <target

    nobusue
    nobusue 2013/11/13
    Groovyタスクを外だししてimportする場合は、antcallでtargetを呼び出すとよい。パラメータは<param name="a" value="1">で渡せば、callされた側で${a}みたいにして拾える。
  • Ant「copyタスク」メモ(Hishidama's ant-copy Memo)

    バックアップのファイルを作成する例 <target name="backup"> <copy preservelastmodified="true" file="test/test.txt" tofile="test/test.bak" /> </target> ファイル名を変えながらディレクトリをバックアップする例 <target name="backup"> <copy todir="../backup/dir" > <fileset dir="src_dir" /> <mapper type="glob" from="*" to="*.bak"/> </copy> </target> 特定のディレクトリを除外してコピーする例 <target name="copy"> <copy todir="to_dir" > <fileset dir="src_dir"> <exclude nam

    nobusue
    nobusue 2013/11/06
  • さかなで本舗 手段は独学! 目標は 一発合格!!中小企業診断士 資格試験体験記

     「手段は独学! 目標は 一発合格!!中小企業診断士 資格試験体験記」は下記アドレスに変更となりました。よろしくお願いいたします。 http://www.sakanade.com/tys/tytop.html 3秒後に自動的にページを移動します。移動しない場合は、上記リンクをクリックしてください。