/** * @file ParserConstants.h * @brief 工作流解析器基类 * * @author 黄军 * @date 2011-7-27 */ #ifndef PAI_FRAME_WORKFLOWENGINE_WORKFLOWCONSTANTS_H #define PAI_FRAME_WORKFLOWENGINE_WORKFLOWCONSTANTS_H /*Json字符串字段为空标记*/ #define JSON_STRING_FIELD_NULL "" /*Json整形字段为空标记*/ #define JSON_INT_FIELD_NULL -1 //工作流默认优先级 #define WORKFLOW_DEFAULT_PRIORITY 0 //输入模块类名称 #define WORKFLOW_INPUT_MODUOLE_NAME "CInputModule" #define WORKFLOW_INPUT_MODUOLE_FILENAME_PARAM_NAME "filename" //输出模块类名称 #define WORKFLOW_OUTPUT_MODUOLE_NAME "COutputModule" #define WORKFLOW_OUTPUT_MODUOLE_FILENAME_PARAM_NAME "outputfilename" #define WORKFLOW_REALTIME_MODULE_NAME "CRealTimeModule" ////pstm模块类名 //#define WORKFLOW_PSTM_MODUOLE_NAME "CPSTMModule" #define COMPOSITE_PARAMETERITEM_CLASS_NAME "CCompositeParameterItem" #define PARAMETERITEM_CLASS_NAME "CParameterItem" /**************c++传递给shell编译器的参数**************/ //编译主目录 #define SHELL_COM_COMIPLE_ROOT_DIR "COM_COMIPLE_ROOT_DIR" //代码文件名称 #define SHELL_COM_SOURCE_NAME "COM_SOURCE_NAME" //动态库名称 #define SHELL_COM_SHARE_LIB_NAME "COM_SHARE_LIB_NAME" //类库输出路径 #define SHELL_COM_SHARE_OUT_DIR "COM_SHARE_OUT_DIR" //类库头文件全路径集合(冒号分隔) #define SHELL_COM_INCLUDE_PATHS "COM_INCLUDE_PATHS" //类库全径集合(冒号分隔) #define SHELL_COM_LIB_PATHS "COM_LIB_PATHS" //类库名称集合(冒号分隔) #define SHELL_COM_LIB_NAMES "COM_LIB_NAMES" //日志文件名称 #define SHELL_COM_LOG_FILE_NAME "COM_LOG_FILE_NAME" //Makefile全路径 #define SHELL_COM_MAKEFILE_PATH "COM_MAKEFILE_PATH" //******************传递seismic-workflow(mapreduce)配置***************** //工作流输入路径 #define MAPRED_PROP_WORKFLOW_INPURT_FILENAME "WORKFLOW_INPURT_FILENAME" //工作流输入文件offset #define MAPRED_PROP_WORKFLOW_INPUT_OFFSET "WORKFLOW_INPUT_OFFSET" //工作流输入文件length #define MAPRED_PROP_WORKFLOW_INPUT_LENGTH "WORKFLOW_INPUT_LENGTH" //工作流输入文件Trace_length #define MAPRED_PROP_WORKFLOW_INPUT_TRACELENGTH "WORKFLOW_INPUT_TRACELENGTH" //工作流输出路径 #define MAPRED_PROP_WORKFLOW_OUTPUT_FILENAME "WORKFLOW_OUTPUT_FILENAME" //工作流名称(mapreduce job name) #define MAPRED_PROP_WORKFLOW_NAME "WORKFLOW_NAME" //工作流Id #define MAPRED_PROP_WORKFLOW_ID "WORKFLOW_ID" //工作流inputmodule第一关键字 #define MAPRED_PROP_WORKFLOW_FIRST_KEY "WORKFLOW_FIRST_KEY" //PSTM归约总道数 #define MAPRED_PROP_PSTM_WORKFLOW_REDUCE_TOTAL_TRACE_NUM "PSTM_WORKFLOW_REDUCE_TOTAL_TRACE_NUM" //PSTM TaskTraceker总数 #define MAPRED_PROP_PSTM_WORKFLOW_REDUCE_TOTAL_TASK_NUM "PSTM_WORKFLOW_REDUCE_TOTAL_TASK_NUM" //工作流Id #define MAPRED_FILENAME "seismicworkflow_en_US.properties" //*************************配置项常量***************************** //工作流编译器shell文件路径 #define PROP_WORKFLOW_SHELL_FILE_PATH "WORKFLOW_SHELL_FILE_PATH" //工作流编译器makfile文件路径 #define PROP_WORKFLOW_MAKEFILE_FILE_PATH "WORKFLOW_MAKEFILE_FILE_PATH" //工作流编译器日志文件名称 #define PROP_WORKFLOW_COM_LOG_FILE_NAME "WORKFLOW_COM_LOG_FILE_NAME" //工作流编译环境检查脚本路径 #define PROP_WORKFLOW_COMPILER_CHECK_SCRIPT_PATH "WORKFLOW_COMPILER_CHECK_SCRIPT_PATH" //工作流编译器固定的头文件全路径(临时) #define PROP_WORKFLOW_COM_TMP_INCLUDES "WORKFLOW_COM_TMP_INCLUDES" //工作流编译器固定的类库全路径(临时) #define PROP_WORKFLOW_COM_TMP_LIBPATHS "WORKFLOW_COM_TMP_LIBPATHS" //工作流编译器固定的类库名称(临时) #define PROP_WORKFLOW_COM_TMP_LIBNAMES "WORKFLOW_COM_TMP_LIBNAMES" //工作流编译临时目录 #define PROP_WORKFLOW_COMPIL_TMP_PATH "WORKFLOW_COMPIL_TMP_PATH" //是否删除工作流编译临时目录 #define PROP_DELETE_WORKFLOW_COMPIL_TMP_PATH "DELETE_WORKFLOW_COMPIL_TMP_PATH" //工作流生成器模板根路径路径 #define PROP_WORKFLOW_GENERATOR_TPL_ROOT_DIR_PATH "WORKFLOW_GENERATOR_TPL_ROOT_DIR_PATH" //系统部署目录 #define PROP_PROJECT_DEPLOY_PATH "PROJECT_DEPLOY_PATH" //工作流MapReduce作业Jar包路径 #define PROP_WORKFLOW_MAPRED_JAR_PATH "WORKFLOW_MAPRED_JAR_PATH" #define PROP_WORKFLOW_MAPRED_PSTM_JAR_PATH "WORKFLOW_MAPRED_PSTM_JAR_PATH" //工作流生成代码名称 #define PROP_WORKFLOW_GENERATOR_WORKFLOWCPPNAME "ModuleContainer.cpp" //工作流类库名称 #define PROP_WORKFLOW_COMPILER_LIBNAME "libworkflow.so" //hdfs临时目录 #define PROP_HDFS_TEMP_DIR "HDFS_TEMP_DIR" //本地临时目录 #define PROP_LOCAL_TEMP_DIR "LOCAL_TEMP_DIR" //分片信息存储路径 #define PROP_SRC_PATH "SRC_PATH" //路径分割符 #define PATH_SPLIT_FLAG "/" //编译参数分割符 #define COMPILE_PARAM_SPLIT_FLAG ":" //工作流标记 #define WORKFLOW_FLAG "workflow" //标准工作流文件名称[不能修改,PIMapReduceApp需要使用此名去读取文件] #define WORKFLOW_STANDARD_FILENAME "workflow.json" //工作流调试用的配置文件路径 #define PROP_WORKFLOW_DEBUG_CONFIG_PATH "WORKFLOW_DEBUG_CONFIG_PATH" ////工作流调试用的脚本路径 #define PROP_WORKFLOW_DEBUG_SHELL_PATH "WORKFLOW_DEBUG_SHELL_PATH" ////工作流调试用的可执行文件路径 #define PROP_WORKFLOW_DEBUG_EXE_PATH "WORKFLOW_DEBUG_EXE_PATH" //*************************系统环境变量***************************** //配置文件路径 #define SYS_ENV_WORKFLOW_CONFIG_PATH "WORKFLOW_CONFIG_PATH" //io module 参数项-files id #define IO_MODULE_FILTER_FILES_NODE_NAME "files" #define IO_MODULE_FILTER_FILENAME_NODE_NAME ".filename" #define IO_MODULE_FILENAME_SPLIT_FLAG ';' #endif