????????????????????????????????????????????????????????????????????????????????????????п????????????????е?????????

????????????????????飬?????????????????????????????????????????????????

??????????????????????????????????????????????

??????????????????????????д?????????????????????????????????????????????????д????????????????????????????????????????????

??????????????????????????????hive?????(????????hive?????????????????????????????飬?????????ù?hive???????hive?????????sql???????)

????

????//?????????????????

????$input = "zhangsan|28|8000 ";//?????????????????

????$input.= "lisi|30|10000 "; //?????????????????

????$input.= "wangwu|40|20000 "; //??????????????????

????//???????????????

????file_put_contents('/tmp/staff.table'?? $input); //???????????д?????

????exec('hadoop fs -mkdir /table_path/staff/'); //??hadoop???????????????·??

????exec('hive -e "create external table stuff(name string?? age bigint?? salary bigint) partitioned by (dp string) location '/table_path/staff/dp=etao';"'); //????hive????????

????exec('hadoop fs -put /tmp/staff.table/table_path/staff/dp=etao/part-000'); //?????????????????hdfs??

????exec('hive -e "alter table staff add if not exists partition ( dp=etao ) location ’/table_path/staff/dp=etao’");//????alter table???????????????????????????????????(hive?????????)

????exec('underTestShell.sh'); //??б???????

????exec('hadoop fs -cat /tmp/result.table/table_path/result/dp=etao/part-000 > /tmp/result.tmp'); //??????????????????

????$result = file_get_contents('/tmp/result.tmp); //??????????????

????//?????????????????

????assert::equal($result?? "38000");

?????>

????????????????????????????д????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????hive??????????????????????????????

???????????????????????????????и?????????????????鷳????????????????????????????????????????????????????????????????????(???????????????????????????????и???)????????????????????????????

????1. ??????????????????????????ü????????????????????????Ч???????????Ч???????????????????????????????????????????????????????????л?????????????????????

????2. ?????????????????′?????????????????£????????3?????????????????????????????????????hadoop?????·??????????????????????仯????3?Σ??????300????????????????????????????????????????????????е??εν??е??

????3. ?????hive?????????????д??????????????????????????ɡ???????????????飬?????????????????????????г???????hive????????????????????????????hive??????????2?????????????????????????????????????

???????????????????????????????????????????

????

????//?????????????????

????$input = "zhangsan|28|8000 ";

????$input.= "lisi|30|10000 ";

????$input.= "wangwu|40|20000 ";

????$underTest = new underTest();

????$result = $underTest->run();

????//?????????????????

????assert::equal($result['result']?? "38000");

?????>

???????????????????????????е??????????????run???????????????????????????????????????????????$input???д??$result??????????????????????????????????????е??????

??????????????????????????????????????

????UI??????????????????????????????????????????????????????????????????ζ?λ???UI?????????????????????????????????????????????????ù????????????????

????????????????????????????????????????????????????????Mock????????????????????????????????

??????Щ???????????????????

?????????£??????С??????????????????????????????????????д??????????????????????????????????????????????????????????????????δ???????????????????????????????????????????ο???????Щ????????????????????

???????????£??????????η????????????????

???????????μ??????????????????????????????????????????????????????????????????????????????????