37℃白日梦

码农不完全体,未知青年


  • 首页

  • 归档

  • 标签

  • 搜索

spark-submit

发表于 2018-07-10 |

–conf

1
--conf "spark.executor.extraClassPath=/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.13.2-cdh5.11.2-client.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-spark2-4.7.0.2.6.5.3-9.jar" --conf "spark.driver.extraClassPath=/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-4.13.2-cdh5.11.2-client.jar:/opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/phoenix-spark2-4.7.0.2.6.5.3-9.jar"

javascript pieces

发表于 2018-07-10 |

让图片旋转起来的代码:

1
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; var DI= document.getElementsByTagName("img"); DIL=DI.length; function A(){for(i=0; i<DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5+"px"; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5+"px"}R++}tag=setInterval('A()',5 );document.onmousedown=function(){clearInterval(tag);for(i=0; i<DIL; i++){DI[i].style.position="static";}}; void(0)

crontab

发表于 2018-07-09 |

commands:

  • crontab -l
  • crontab -e

set up:

1
0 2 * * * sh /home/test/scripts/test.sh `date --date='-1 day' +%Y-%m-%d` > /home/test/logs/test.log 2>&1

spark utils

发表于 2018-07-09 |

sqoop utils

发表于 2018-07-09 |
1
2
sqoop import -Dhbase.zookeeper.quorum={{zkAddr}} --connect jdbc:oracle:thin:@//{{host}}:{{port}}/{{serviceName}} --username {{username}} --password {{password}} --query "{{sql}}
and \$CONDITIONS" --fields-terminated-by "\t" --lines-terminated-by "\n" --hbase-table {{tableName}} --column-family INFO --hbase-row-key SITEID -m 1 --hbase-create-table

hbase utils

发表于 2018-07-09 |

hbase filter

1
scan 'XXRPT_HGSTELEPHONYREPORT_2018-07-01', {COLUMNS => 'INFO:CONFID', FILTER => "ValueFilter( =, ‘substring:687754' )", LIMIT=>1}
1
scan 'XXRPT_HGSMEETINGREPORT_2018-06-25',{FILTER=>"SingleColumnValueFilter('INFO','SITEID',=,'binary:971082')"}

bash utils

发表于 2018-07-09 |

common utils:

  • to lower case:

    echo Happy | tr “[:upper:]” “[:lower:]”

file operations:

  • show file size with human readable format

    1
    ls -lash
  • List your top 10 favorite commands

    1
    history | awk '{print $2}' | sort | uniq -c | sort -rn | head
  • get disk used percent

    1
    df -hP {{disk_path}} | awk '{print $5}' |tail -1|sed 's/%$//g'
  • sum total for column 4

    1
    awk -F"\t" '{print;x+=$4}END{print "Total " x}' 2018-07-06.csv
  • count file column number

    1
    head -1 targetfile | sed 's/[^,]//g'|wc -c
  • filter data rows

    1
    cat jmtdata_AllSites_2018-07-06.csv |awk '{if($1=="303790" && $9=="2018-07-06") print $1,$9}'|wc -l
  • send email

    1
    echo -e "All CSV files are generated successfully \n Date: $2 $(date "+%H:%M:%S") \n Thanks, \n Test"| mail -s "Success" test@gmail.com
  • sql insert

    1
    2
    echo -e "UPSERT INTO SAP_DATATELEMETRY VALUES('${rowKey}','${datatype}','0','${jobEndTIME}','0','${dataEntry}','$4');" > insert_jmt_telemetry.sql
    /opt/cloudera/parcels/APACHE_PHOENIX/lib/phoenix/bin/psql.py sap-zookeeper1-gsb:2181 insert_jmt_telemetry.sql

Loop Func:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env bash
# usage:
Usage () {
echo -e "Usage: ./test.sh 2018-07-08 or ./test.sh 2018-07-08 2018-07-09"
}
Loop() {
#do logic here
jobtype=( daily weekly monthly )
for i in "${jobtype[@]}"
do
hdfs dfs -getmerge /user/test/test.csv test.csv
done
}

if [ "$#" -eq 1 ]
then
Loop $1
elif [ "$#" -eq 2 ]
then
startdate=$1
enddate=$2

curr="$startdate"
while true; do
echo "$curr"
Loop $curr
[ "$curr" \< "$enddate" ] || break
curr=$( date +%Y-%m-%d --date "$curr +1 day" )
done
else
Usage
fi

Python Transations 库实现有限状态机(Finite-state machine, FSM)

发表于 2018-07-09 |

以视频播放器为例:

State List:

  • play
  • pause
  • stop

Action List:

  • toggle
  • forward
  • backward
  • stop

State Change Table View(list all transtions from one state to another with actions to trigger):

play pause stop
play forward/backward toggle stop
pause toggle forward/backward stop
stop toggle - -

Sample Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from transitions import Machine

class Player(object):
pass

model = Player()

states = ['play', 'pause', 'stop']

actions = ['toggle', 'forward', 'backward', 'stop']

transitions = [
{'trigger': 'forward', 'source': 'play', 'dest': 'play' },
{'trigger': 'backward', 'source': 'play', 'dest': 'play' },
{'trigger': 'toggle', 'source': 'play', 'dest': 'pause'},
{'trigger': 'stop', 'source': 'play', 'dest': 'stop'},
{'trigger': 'toggle', 'source': 'pause', 'dest': 'play'},
{'trigger': 'forward', 'source': 'pause', 'dest': 'pause'},
{'trigger': 'backward', 'source': 'pause', 'dest': 'pause'},
{'trigger': 'stop', 'source': 'pause', 'dest': 'stop'},
{'trigger': 'toggle', 'source': 'stop', 'dest': 'play'}]

machine = Machine(model=model, states=states, transitions=transitions, initial='pause')

# Test
print(model.state) # pause
model.toggle()
print(model.state) #play
model.stop()
print(model.state) #stop

如何使用Soton账号进行vpn翻墙

发表于 2015-10-31 |

使用Soton账号进行vpn翻墙, Mac OS, iPhone以及iPad亲测可用。

阅读全文 »

Ruby on Rails中nokogiri问题的解决方案

发表于 2015-10-28 |

本文旨在解决rails server时报错的问题。

阅读全文 »
Mr.llover

Mr.llover

我的心略大于整个宇宙。。

10 日志
13 标签
RSS
GitHub Weibo ZhiHu
推荐网站
  • MacTalk
© 2015 - 2018 Mr.llover
由 Hexo 强力驱动
主题 - NexT.Muse