Closed HirokiTanaka closed 9 years ago
1日のcsvのデータ容量は大きくて350kB -> 1年間で128MB -> 5年間で640MB -> OK
cd ~
node ./Stock/repos/Stock/tools/hive_table_defs/index.js --table=stocks --from=2010-01-01 --to=`date -d '1 days ago' +%Y-%m-%d` >> ~/stocks.hql
vim ~/stocks.hql
1 CREATE EXTERNAL TABLE IF NOT EXISTS stocks (
2 code string,
3 market string,
4 brand string,
5 industry string,
6 opening int,
7 high int,
8 low int,
9 closing int,
10 turnover int,
11 sales int
12 )
13 PARTITIONED BY (dt string)
14 ROW FORMAT
15 DELIMITED
16 FIELDS TERMINATED BY ','
17 LINES TERMINATED BY '\n'
18 ;
19
20 ALTER TABLE stocks ADD PARTITION ( dt='2010-01-01' ) LOCATION 's3n://hirokitanaka-stock/hdfs/data/stocks/2010-01-01';
:
2157 ALTER TABLE stocks ADD PARTITION ( dt='2015-09-18' ) LOCATION 's3n://hirokitanaka-stock/hdfs/data/stocks/2015-09-18';
2158 ALTER TABLE stocks ADD PARTITION ( dt='2015-09-19' ) LOCATION 's3n://hirokitanaka-stock/hdfs/data/stocks/2015-09-19';
2010-01-01 - 2011-06-30 までのデータをs3に格納
hadoop fs -mkdir $dir
を何度も実行していると遅くなってくる Javaの問題か・・
ps aux
501 12650 85.7 5.3 2196300 54556 pts/0 Sl+ 15:55 0:06 /usr/java/jdk1.8.0_60/bin/java -Xmx1000m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/opt/hadoop-2.7.1/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/opt/hadoop-2.7.1 -Dhadoop.id.str=hirokitanaka -Dhadoop.root.logger=INFO,console -Djava.l ibrary.path=/opt/hadoop-2.7.1/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Xmx512m -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.fs.FsShell -put ./tmp/2011-08-31.csv s3n://hirokitanaka-stock/hdfs/data/stocks/2011-08-31/2011-08-31.csv
hadoop fs -put
が重いっぽい
これは普通に重いので・・・いったんあきらめる
にて対策する
朝起きて、2015-09-21にて、再度実行すると
hadoop fs -mkdir
hadoop fs -put
09-20には共に30secかかっていたのが、3secに劇的に改善している。。。 どういうことか不明だが・・・ awsのリソースの問題?か・・・
と思って満足していたら、1年分くらいcsvをアップするとまた30sec程度かかるようになった -> memory leakでもしてるのか・・・ 一旦dfsを再起動して対応してみる -> 結果変わらず・・(相変わらず遅い)
▼cpuリソース制限かorz