在Hive中,如果使用了External Table或者Partition,那么路径是不在自己的hive warehouse下的。
-- 获取table的真实hdfs路径
desc formatted my_table;
-- 获取partition的真实hdfs路径
desc formatted my_table (pt='20140804');
[......]
在Hive中,如果使用了External Table或者Partition,那么路径是不在自己的hive warehouse下的。
-- 获取table的真实hdfs路径
desc formatted my_table;
-- 获取partition的真实hdfs路径
desc formatted my_table (pt='20140804');
[......]
Map比较简单,不贴了。
class Reduce:
KV_SEP = "\t"
def __init__(self):
self.last_key = None
self.value_list = []
def reduce(self, key, value_list):
pass
def processLine(self, key, value):
# First[......]
单进程:
server = HTTPServer(app)
server.listen(8888)
IOLoop.instance().start()
多进程,方案1:
server = HTTPServer(app)
server.bind(8888)
server.start(0) # Forks multiple sub-processes
IOLoop.instance().start()
多进程,方案2:
sockets = tornado.netutil.bin[......]
Shell中的二次引用:
a=b
b=123
echo $a # is b
echo ${!a} # is 123
如上所属,使用${!var},就可以获得变量var中存储的变量的变量了~[......]
参考stackoverflow的例子,改了一个出来:
while IFS='= ' read var val
do
if [[ $var == \[*] ]]
then
section=$(echo $var | sed 's/^\[\(.*\)\]$/\1/')
elif [[ $val ]]
then
if [ -z $section ];then
declare "${var}=$val"[......]