Cドライブの掃除

Cドライブの残量が1GBを切ってやばいので掃除 取り敢えずディスククリーンアップ(でも数十MBしか減らないね Cドライブを徹底的にクリーンアップする方法|CRYSTAL 上の記事を参考に下記ディレクトリ下を削除して10GB確保 C:¥Windows¥Temp C:¥Users¥user¥Loc…

redisめも

download Download – Redis Redisサーバ起動 > redis-server redis.conf Redisクライアント起動 > redis-cli Document redisドキュメント日本語訳 — redis 2.0.3 documentation Redis Command クライアント終了 > exit 内容をdumpしてサーバーを終了 > shutd…

MySQL高速化めも

1.コミット頻度を減らす 数千件単位で明示的にcomit 増やしすぎても効果ない 2.バルクインサート インサート文はまとめて(クエリ長を気にしつつ) × INSERT hoge INTO VALUES (1,'a'); INSERT hoge INTO VALUES (2,'b'); ... ○ INSERT hoge INTO VALUES (1,…

文字列操作

Hiveの文字列操作で使ったUDFメモ split split(string str, string pat) 文字列を指定パターンで分割する |datetime +-------------------- |2014/07/17 13:30:00 split(datetime,' ')[0] > 2014/07/17 split(datetime,' ')[1] > 13:30:00 regexp_replace re…

GROUP毎の上位N位抽出

MySQLでGROUP BYした時に最初のN件を抽出する方法メモ How to select the first/least/max row per group in SQL | Xaprb に載っているユーザ変数を使う方法が簡単そう テーブル +----+-------+ | id | chara | +----+-------+ | 1 | A | | 2 | C | | 3 | B …

ファイル分類

はじめてのpigメモ 複数のファイルから種別毎にファイルを分類する logfile1 type message LOG0001 MESSAGE1 LOG0001 MESSAGE2 ... ... LOG0004 MESSAGE15 logfile2 ... 4 pigコマンド pig -x local -x local でローカル実行(なしでhadoopモード) Pig Lati…

大量INSERT

TableA(1000万件)から100万件をTableBにInsertしたい ・1件ずつコミット while ($i <= 1000000){ $sql=qq{ insert into TableB select id,str from TableA where id=$i }; $dbh->do($sql); $dbh->commit(); $i++; } 処理時間 16分58秒 ・1万件ずつコミット $…

MAPJOINメモ

table_m : 10000件 table_a : 1000件 table_b : 1000件 select count(*) from table_m m join table_a a on (m.link1=a.id) join table_b b on (m.link2=b.id) Time taken: 42.128 seconds MapJoin メモリにハッシュテーブルを持ってMapフェーズのみでJoinを…

ジョブ関連メモ

ジョブをバックグラウンドで実行 (ジョブ) & ログアウト後も実行させ続ける nohup (ジョブ) & 実行途中でバックに移す Ctrl + Z # bg Linuxコマンド集 - 【 nohup 】 ログアウトした後もコマンドを実行し続ける:ITpro Linuxコマンド集 - 【 & 】 コマンドを…

1年くらいのまとめ

開発インフラ SCM Subversion,Git BTS JIRA CI CruiseControl IDE Eclipse(pleiades) マシンはWindows やったこと API実装 HTTPリクエストからバックに問い合わせてJSONを返却 テストコードはJUnit Java maven JavaServlet Spring Jersey ログ解析アプリ ロ…

XMinメモ

ForceArray 配列前提で値を取っていく時 要素数1の場合、配列として読まれないのでForceArrayする my $data = $xml->XMLin($target_file,ForceArray => ['playlist']); while ($i<$MAX) { my $Id = $data->{'List'}[$i]->{'Item'}->{'Id'}; $i++; 値チェック…

ESCAPE BY

MySQLでテーブルに一部データが正常に登録されていない MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.2.5 LOAD DATA INFILE 構文 \はデフォルトのエスケープ文字として読まれているらしい LOAD DATA LOCAL INFILE 'FILEPATH' INTO TABLE TABLE FIELDS E…

シーケンスファイルテーブルにテキストファイルをloadする方法

シーケンスファイルフォーマットで作ったテーブルにテキストファイルを入れたい時 CREATE TABLE table ( val1 string, val2 string ) STORED AS SEQUENCEFILE likeしてalter tableすればスキーマをハードコードせずに済む CREATE TABLE work_table LIKE tabl…

特殊文字のエスケープシーケンス

HIVEで文字列を|区切りにしたい時 SPLIT('a|bb|ccc','¥¥|') でHIVEコマンドは動くんだけど hive -e " SPLIT('a|bb|ccc','¥¥|') " の時うまく動かない 結局 hive -e " SPLIT('a|bb|ccc','¥¥¥|') " で¥3つつけるとうまいこといけました 詳しいことはわからんけ…

map

for,foreachとほぼ同じだが変換を明示的にできる #!/usr/bin/perl my %testmap={ 'hoge' => 'A' , 'foo' => 'B' , 'bar' => 'C' }; my @keys=('hoge','foo','bar'); my @result = map { $testmap{$_}; }@keys; print join(',',@result) . '\n'; --- A,B,C

select

fetchとselect selectrow_array は prepare excute fetchrow_array の処理をまとめたメソッド DBIの使い方 #!/usr/bin/perl use DBI; my $data_source = 'DBI:mysql:test:localhost:3306'; my $user = 'user'; my $pass = 'pass'; my $dbh = DBI->connect($d…

複数のCOUNT

条件の異なる複数のCOUNTを1クエリでやりたい select count(1), count(if(a=0,1,null)), count(if(b>0,1,null)) from test 【SQL】複数の条件のcountを1回の問い合わせでおこなう at softelメモ

HIVEでgroup by

selectするカラムをgroup byしないといけない select a,b,c from test group by a する場合 select a,b,c from test group by a,b,c みたいにする select a b count(c) from test group by a,b countやsum等はgroup byしなくてもOK LanguageManual GroupBy -…

InnoDBでTRUNCATEした時のibdファイル

古いInnoDBではテーブルをTRUNCATEしてもibdファイルは再利用用にのこるらしい 古いバージョンのInnoDBだとTRUNCATE TABLEしてもデータファイルのサイズが減らない件 - shimxmemo 検証 テーブル作成して適当にデータを入れる CREATE TABLE test (hoge VARCHA…

テーブルが存在するか確認する方法

perl,DBIでテーブルが存在するか確認する方法 # table_nameというテーブルが存在するかどうか $sql = qq{ show tables like 'table_name'; }; $sth = $db->prepare ($sql); $tbl = $sth->execute (); $sth->finish; $db->commit (); if ($tbl != '0E0'){ # …

テーブル作成時InnoDBが勝手にMyISAMになる

InnoDBが有効か確認 mysql> show variables like 'have_innodb' +---------------+-------+ Variable_name Value +---------------+-------+ have_innodb NO +---------------+-------+ 1 row in set (0.00 sec) なってない ログを見てみる InnoDB: Error: l…

mysqlのコマンド

mysql周りの調査で使ったコマンドめも SHOW STATUS ステータス確認 SHOW VARIABLES 設定されている変数値確認 SHOW [FULL] PROCESSLIST 実行中のプロセスリストを表示 SET [GLOBAL/SESSION] (変数名)=(値) 変数値を設定する

RPM関連のコマンド

RPM関連のコマンド rpm -qa | grep hoge インストールされているRPM確認 grep キーワードで絞込み rpm -e hoge RPMアンインストール rpm -ivh hoge RPMインストール

Hiveでファイルの圧縮

ファイルの圧縮 Bzip2 set hive.exec.compress.output=true; set mapred.output.compression.type=BLOCK; set mapred.output.compression.codec=org.apache.hadoop.io.compress.BZip2Codec; Gzip set hive.exec.compress.output=true; set mapred.output.com…

HIVEのテーブル定義の確認

LanguageManual DDL - Apache Hive - Apache Software Foundation テーブル定義の確認方法 HIVEで作成したテーブルのファイルフォーマットや構成を確認したい場合 hive > desc [ extended / formatted ] テーブル名 extendedで詳細説明表示 formattedで見や…

BASHで二次元配列

BASHで二次元配列もどきの作り方 #!/bin/bash arrays=( "aaa 111" "bbb 222 333" "ccc" ) for array in "${arrays[@]}" do echo "${array}" for hoge in "${array}" do echo "${hoge}" done done 結果 aaa 111 aaa 111 bbb 222 333 bbb 222 333 ccc ccc テス…

リターンコードを取得

BASHでリターンコードを取得 $?で直前のコマンドのリターンコードを取得できる mkdir hoge echo "$?" リターンコード 成功 -> 0 失敗 -> 1 リターンコードの受け取り方 実行に失敗した場合に呼び出し元に返り値をそのまま返したい時 #!/bin/bash function …

Perlの変数宣言

our, my, local our. パッケージ変数 スコープの外からでもパッケージ名をつけて参照できる my. レキシカルスコープ スコープ内で参照可能な変数を宣言 local. ダイナミックスコープ グローバルな変数がいた場合一時スタックに退避 実行時のスコープ内で宣言…

Hiveいろいろ

hiveめも Hive SQL テーブル作成 CREATE TABLE [テーブル名] (名前 型,名前 型...) パーティション PARTITIONED BY (名前 型) ファイルフォーマット ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY ' ' tsv形式 ファイル形式 STORED A…

概要

技術めも