本地操作模式
该程序被提交给localjobrunner,并作为单个进程在本地运行。
2.处理后的数据和输出结果可以在本地文件系统或hdfs上。
3.如何实现本地操作?程序不应该有群集配置文件。
实质是程序中是否有参数conf。
4.本地模式对于调试业务逻辑非常方便,只要你在eclipse/idea中破点。
集群运行模式
1.把mapreduce程序交给yarncluster,分发给很多节点并发执行。
2.处理后的数据和输出结果应该位于hdfs文件系统中。
3.提交集群的实施步骤
把程序做成jar包,然后在集群的任意一个节点上用hadoop命令启动。
hadoopjarhdfscli
查看方法:
和c语言的输出日志:
1)java代码使用android.util.log类的以下五个方法输出程序中的日志:
log.v()、log.d()、log.i()、log.w()、log.::函数名#34,#34日期_时间_源文件名_行号_日志信息内容#34)。
2)c代码在程序中输出日志,并使用日志的api函数:
__android_log_write(日志类型宏、日志标记字符串、日志令牌内容字符串)
需要:1。添加local_ldlibs:-l$(sysroot)/usr/lib-llog。
2.*.cadd#includ:。
//android日志优先级值,按优先级升序排列。
typedef枚举android_logpriority{
android_log_unknown0
//仅用于setminpriority()
android_log_默认,
安卓_日志_详细,
android_log_debug,
安卓_日志_信息,
android_log_warn,
安卓_日志_错误,
android_log_fatal,
//仅适用于setminpriority()必须是最后一个
android_log_silent,
}android_logpriority
二、logcat:的使用
usag:日志目录[选项][过滤器规格]
用法:logcat[选项][筛选器描述]
includ:选项
选项包括:
-s将默认筛选器设置为静默。
比如指定filterspec#39*:s#39
将默认过滤器设置为静音。
例如,将过滤器描述指定为*:,有关详细信息,请参见下面的过滤器描述部分。
-fltfilenamegt记录到文件。
默认为标准输出
将日志输出到文件。
默认为stdout。
-r[ltkbytesgt]每千字节轮换一次日志。
(16如果未指明)。
需要-f
设置环形日志缓冲区的千字节数。
默认值为16。
需要与-f选项一起使用。
-nltcountgt将循环日志的最大数量设置为ltcountgt,默认值为4
设置循环日志缓冲区的最大数量。默认值为4,需要与-r选项一起使用。
-vltformatgt设置日志打印格式,其中ltformatgt是一个of:
设置日志的打印格式。有以下七种主要格式::(不能组合使用)。
简短的
过程
标签
线
生的
时间
线程时间
长的
-c清除(冲洗)the整个日志并退出
清除所有日志并退出。
-d转储日志,然后退出(不要阻塞)
获取所有日志并无阻塞地退出。
-tltcountgt仅打印最近的ltcountgt行(暗示-d)
只打印参数count(必须包括-d)指示的最新行数。
-g获取log#39s环形缓冲区的大小并退出
获取环形缓冲区的大小并退出。
-bltbuffergt请求备用环形缓冲器,#39main#39,#39system#39,#39radio#39或#39events#39。
允许多个b参数,并且结果是交错的。
默认为-bmain-b系统。
请求备用环形缓冲区,例如:main、system、radio、events。
允许多个-b参数,并且结果是交错的。
-bmain-b系统是缺省的。
-b以二进制输出日志
将日志输出到二进制文件。
filterspecs是一系列lttaggt[:pority]
滤镜描述是一系列lttaggt[:优先]。
其中,lttaggt是日志组件标记(或*代表全部)和优先级is:
tag是eclipse中logcat图形界面中tag的内容(或*表示全部),后面是冒号(:),后面是优先级:
日志类型标识符按优先级降序排列():
1.v-详细详细lt-最低优先级
2.d-d:d#39,lttaggt本身表示lttaggt:v
*表示*:d,孤标签表示标签:v
如果没有在命令行中指定,filterspec将从android_log_tags中设置。
如果没有在命令行中详细指定,过滤器规范就是android_log_tags结果集。
如果没有找到filterspec,过滤器默认为#39*:i#39
如果没有过滤指令,过滤规范默认为*:i
如果没有用-v指定,格式从android_printf_log设置或默认为#34brief#34
如果没有指定-v格式,将会是android_printf_log或brief格式集。
1)仅输出具有指定标签和类型的日志。
格式:
adblogcatlt日志标签gt:lt日志类型标识符gtlt日志标签gt:lt日志类型标识符gt...*:。
注:1。可以写多个lt日志标签-gt:lt日志类型标识符gt用空格隔开;
2.最后,它必须是*:,这意味着不应该显示任何其他内容。
例如:
$adblogcatdalvikvm:dcheckin:w*:
注:adblogcatcheckin*:相当于gtadblogcatcheckin:v*:。
注意:以上命令都没有用-v标记来表示日志格式,即默认为。:android_printf_log或简要格式集。
2)输出带有指定标签和类型的格式化日志。
注意:以下测试日志内容为:测试日志格式,
也就是eclipse中logcat图形界面中文本中的内容!
1.简要-日志类型/日志标签(流程id):日志内容
例如:$adblogcat-v简要检查in*:。
i/checkin(24713):测试日志格式
2.进程日志类型(进程id)日志内容(日志标签)
例如:$adblogcat-vprocesscheckin*:。
i(24713)测试日志格式(签入)
3.标记-日志类型/日志标签:日志内容
例如:$adblogcat-vtagcheckin*:。
i/checkin:测试日志格式
4.线程日志类型(进程id:线程id)
比如:$adblogcat-vthreadcheckin*:。
我(24713:0x6089)测试日志格式
5.原始日志内容
例如:$adblogcat-vrawcheckin*:。
测试日志格式
6.时间-日期呼叫时间日志类型/日志标签(处理id):日志内容
比如:$adblogcat-vtimecheckin*:。
05-2711:25:33.854i/checkin(24713):测试日志格式
7.线程时间-日期调用时间进程id线程id日志类型日志标签:日志内容
例如:$adblogcat-vtimecheckin*:。
05-2711:25:33.8542471324713icheckin:测试日志格式
注意:只有在这种格式下,线程id才是十进制数。
8.长-[日期调用时间进程id:线程id日志类型/日志标签]开关显示日志内容。
比如:$adblogcat-vlongcheckin*:。
[05-2711:25:33.85424713:0x6089i/checkin]
测试日志格式