中国工商銀行銀行で海外送金失敗
中国工商銀行という中国の銀行で個人のインターネットバンキングを開設すれば、海外送金が格安でできるということで申し込んで海外送金をしましたが、
「東京支店での処理が失敗しましたと画面上出て電話で問い合わせたら、工商銀行内部の送金審査に失敗したということ。え?俺何も悪いことしてないけど。。
原因は?と聞いたらそれは教えられませんと答えてくれた。
お。。お?!
Google BigQueryで日本語(漢字、ひらがな、カタカナ)を正規表現で検索する
ググっても以外に例がなかったので、こちらにメモとして残しておきます。
BQではre2というライブラリを使って正規表現をサポートしてますので、この辺の資料を参考にしました。
https://github.com/google/re2/wiki/Syntax
ひらがなを含んだものを検索する
select
name
from
people
where
REGEXP_CONTAINS(name, '\\p{Hiragana}')
カタカナを含んだものを検索する
select
name
from
people
where
REGEXP_CONTAINS(name, '\\p{Katakana}')
漢字はこんな感じ
select
name
from
people
where
REGEXP_CONTAINS(name, '\\p{Han}')
Apache zeppelin起動してsparkのコードを動かそうとしたらエラー
zeppelin_home/bin/derby.logに以下のエラーが出ていたので、調べ居たらどうもzeppelin-daemon.sh stopしたにも関わらず残骸が残ってたのが原因でした。
zeppelin Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database
解決は以下のコマンドでzeppelinのプロセスをいったんkillしてから再起動したらなおりました。
pgrep -f 'zeppelin' | xargs kill
pgrepで殺したいキーワードに一致したプロセスを殺す
pgrep -f 'プロセス名' | xargs kill
CDH 5.7.X 再インストールのメモ
基本的にはClouderaのホームページを参考にしていたが、
追加で以下のことを行わないとうまく再インストールできなかったので、メモ
Uninstalling Cloudera Manager and Managed Software
cloudera-scm-serverサービスの停止&アンインストール
# sudo service cloudera-scm-server stop
# sudo service cloudera-scm-server-db stop
# sudo /usr/share/cmf/uninstall-cloudera-manager.sh
# sudo rm -rf /opt/cloudera/parcel-repo/*
cloudera-scm-agent側のサービスの停止&アンインストール
# sudo service cloudera-scm-agent stop
# sudo apt-get purge 'cloudera-manager-*' avro-tools crunch flume-ng hadoop-hdfs-fuse hadoop-hdfs-nfs3 hadoop-httpfs hadoop-kms hbase-solr hive-hbase hive-webhcat hue-beeswax hue-hbase hue-impala hue-pig hue-plugins hue-rdbms hue-search hue-spark hue-sqoop hue-zookeeper impala impala-shell kite llama mahout oozie pig pig-udf-datafu search sentry solr-mapreduce spark-core spark-master spark-worker spark-history-server spark-python sqoop sqoop2 whirr hue-common oozie-client solr solr-doc sqoop2-client zookeeper
#sudo rm -rf /opt/cloudera/parcels/*
後は手順とおり再インストールすればOK
Spark sql で array_to_stringを自作する
やり方意外と簡単でした。
参考したページは
Using SparkSQL UDFs to Create Date Times in Spark 1.5
scala> import org.apache.spark.sql.functions.udf
scala> def arrayToString(array:Seq[String],separator:String) = array.mkString(separator)
scala> sqlContext.udf.register("array_to_string", arrayToString(_:Seq[String],_:String))
scala> sqlContext.sql("select array_to_string(array('aaa','bbb'),'@') x").collect.foreach(println)
[aaa@bbb]
ちゃんと動いた
ubuntu で kvmを構築する手順
必要なツールをinstall
$ sudo aptitude install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils virtinst
isoファイルをダウンロード
$ wget http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-i386.iso
vmからもネットワーク接続できるようにブリッジを作成する
/etc/network/interfacesを以下のように編集する
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
auto br0
そしてネットワーク再起動
$ sudo ifdown eth0 && sudo ifup eth0
ブリッジ確認
$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.a0b3cce24d2c no eth0
vnet0
vmを作成する
$ sudo virt-install --name vm01 --ram 2048 --disk path=/var/lib/libvirt/images/vm01.img,size=30 --vcpus 1 --os-type linux --os-variant ubuntutrusty --network bridge=br0 --noautoconsole -c ubuntu-14.04.4-server-i386.iso --graphics vnc,port=5901,keymap='ja',listen=0.0.0.0,password=vnc
$ virsh list --all
Id Name State
----------------------------------------------------
2 vm01 running
上記でStateがshutdownになっていれば、以下のコマンドで起動する
$ virsh start vm01
そして、UltraVNCViewerでvm01に接続する
接続時指定するアドレスは「ホストOSのIP:ポートID」
パスワードは上で設定した'vnc'を入力
ポートIDは以下のコマンドで確認
$virsh vncdisplay vm01