public class ProgramConverter extends Object
Constructor and Description |
---|
ProgramConverter() |
Modifier and Type | Method and Description |
---|---|
static Instruction |
cloneInstruction(Instruction oInst,
long pid,
boolean plain,
boolean cpFunctions) |
static ExecutionContext |
createDeepCopyExecutionContext(ExecutionContext ec)
Creates a deep copy of the given execution context.
|
static ForProgramBlock |
createDeepCopyForProgramBlock(ForProgramBlock fpb,
long pid,
int IDPrefix,
Program prog,
Set<String> fnStack,
Set<String> fnCreated,
boolean plain,
boolean forceDeepCopy) |
static FunctionProgramBlock |
createDeepCopyFunctionProgramBlock(FunctionProgramBlock fpb,
Set<String> fnStack,
Set<String> fnCreated) |
static void |
createDeepCopyFunctionProgramBlock(String namespace,
String oldName,
long pid,
int IDPrefix,
Program prog,
Set<String> fnStack,
Set<String> fnCreated,
boolean plain)
This creates a deep copy of a function program block.
|
static FunctionStatementBlock |
createDeepCopyFunctionStatementBlock(FunctionStatementBlock fsb,
Set<String> fnStack,
Set<String> fnCreated) |
static IfProgramBlock |
createDeepCopyIfProgramBlock(IfProgramBlock ipb,
long pid,
int IDPrefix,
Program prog,
Set<String> fnStack,
Set<String> fnCreated,
boolean plain,
boolean forceDeepCopy) |
static ArrayList<Instruction> |
createDeepCopyInstructionSet(ArrayList<Instruction> instSet,
long pid,
int IDPrefix,
Program prog,
Set<String> fnStack,
Set<String> fnCreated,
boolean plain,
boolean cpFunctions)
Creates a deep copy of an array of instructions and replaces the placeholders of parworker
IDs with the concrete IDs of this parfor instance.
|
static ParForProgramBlock |
createDeepCopyParForProgramBlock(ParForProgramBlock pfpb,
long pid,
int IDPrefix,
Program prog,
Set<String> fnStack,
Set<String> fnCreated,
boolean plain,
boolean forceDeepCopy) |
static WhileProgramBlock |
createDeepCopyWhileProgramBlock(WhileProgramBlock wpb,
long pid,
int IDPrefix,
Program prog,
Set<String> fnStack,
Set<String> fnCreated,
boolean plain,
boolean forceDeepCopy) |
static ForStatementBlock |
createForStatementBlockCopy(ForStatementBlock sb,
boolean forceDeepCopy) |
static IfStatementBlock |
createIfStatementBlockCopy(IfStatementBlock sb,
boolean forceDeepCopy) |
static ForProgramBlock |
createShallowCopyForProgramBlock(ForProgramBlock fpb,
Program prog) |
static StatementBlock |
createStatementBlockCopy(StatementBlock sb,
long pid,
boolean plain,
boolean forceDeepCopy) |
static WhileStatementBlock |
createWhileStatementBlockCopy(WhileStatementBlock sb,
boolean forceDeepCopy) |
static Object[] |
parseDataObject(String in)
NOTE: MRJobConfiguration cannot be used for the general case because program blocks and
related symbol tables can be hierarchically structured.
|
static ParForBody |
parseParForBody(String in,
int id) |
static ParForBody |
parseParForBody(String in,
int id,
boolean inSpark) |
static Program |
parseProgram(String in,
int id) |
static SparkPSBody |
parseSparkPSBody(String in,
int id) |
static ArrayList<ProgramBlock> |
rcreateDeepCopyProgramBlocks(ArrayList<ProgramBlock> childBlocks,
long pid,
int IDPrefix,
Set<String> fnStack,
Set<String> fnCreated,
boolean plain,
boolean forceDeepCopy)
This recursively creates a deep copy of program blocks and transparently replaces filenames according to the
specified parallel worker in order to avoid conflicts between parworkers.
|
static StatementBlock |
rCreateDeepCopyStatementBlock(StatementBlock sb) |
static String |
saveReplaceFilenameThreadID(String fname,
String pattern,
String replace) |
static String |
serializeDataObject(String key,
Data dat) |
static String |
serializeList(List<String> elements) |
static String |
serializeList(List<String> elements,
String delim) |
static String |
serializeParForBody(ParForBody body) |
static String |
serializeParForBody(ParForBody body,
HashMap<String,byte[]> clsMap) |
static String |
serializeResultVariables(List<ParForStatementBlock.ResultVar> vars) |
static String |
serializeSparkPSBody(SparkPSBody body,
HashMap<String,byte[]> clsMap) |
public static final String NEWLINE
public static final String COMPONENTS_DELIM
public static final String ELEMENT_DELIM
public static final String ELEMENT_DELIM2
public static final String DATA_FIELD_DELIM
public static final String KEY_VALUE_DELIM
public static final String LEVELIN
public static final String LEVELOUT
public static final String EMPTY
public static final String DASH
public static final String REF
public static final String LIST_ELEMENT_DELIM
public static final String CDATA_BEGIN
public static final String CDATA_END
public static final String PROG_BEGIN
public static final String PROG_END
public static final String VARS_BEGIN
public static final String VARS_END
public static final String PBS_BEGIN
public static final String PBS_END
public static final String INST_BEGIN
public static final String INST_END
public static final String EC_BEGIN
public static final String EC_END
public static final String PB_BEGIN
public static final String PB_END
public static final String PB_WHILE
public static final String PB_FOR
public static final String PB_PARFOR
public static final String PB_IF
public static final String PB_FC
public static final String PB_EFC
public static final String CONF_STATS
public static final String PARFORBODY_BEGIN
public static final String PARFORBODY_END
public static final String PSBODY_BEGIN
public static final String PSBODY_END
public static final String NOT_SUPPORTED_EXTERNALFUNCTION_PB
public static final String NOT_SUPPORTED_SPARK_INSTRUCTION
public static final String NOT_SUPPORTED_SPARK_PARFOR
public static final String NOT_SUPPORTED_PB
public static ExecutionContext createDeepCopyExecutionContext(ExecutionContext ec) throws CloneNotSupportedException
ec
- execution contextCloneNotSupportedException
- if CloneNotSupportedException occurspublic static ArrayList<ProgramBlock> rcreateDeepCopyProgramBlocks(ArrayList<ProgramBlock> childBlocks, long pid, int IDPrefix, Set<String> fnStack, Set<String> fnCreated, boolean plain, boolean forceDeepCopy)
childBlocks
- child program blockspid
- ?IDPrefix
- ?fnStack
- ?fnCreated
- ?plain
- if true, full deep copy without id replacementforceDeepCopy
- if true, force deep copypublic static WhileProgramBlock createDeepCopyWhileProgramBlock(WhileProgramBlock wpb, long pid, int IDPrefix, Program prog, Set<String> fnStack, Set<String> fnCreated, boolean plain, boolean forceDeepCopy)
public static IfProgramBlock createDeepCopyIfProgramBlock(IfProgramBlock ipb, long pid, int IDPrefix, Program prog, Set<String> fnStack, Set<String> fnCreated, boolean plain, boolean forceDeepCopy)
public static ForProgramBlock createDeepCopyForProgramBlock(ForProgramBlock fpb, long pid, int IDPrefix, Program prog, Set<String> fnStack, Set<String> fnCreated, boolean plain, boolean forceDeepCopy)
public static ForProgramBlock createShallowCopyForProgramBlock(ForProgramBlock fpb, Program prog)
public static ParForProgramBlock createDeepCopyParForProgramBlock(ParForProgramBlock pfpb, long pid, int IDPrefix, Program prog, Set<String> fnStack, Set<String> fnCreated, boolean plain, boolean forceDeepCopy)
public static void createDeepCopyFunctionProgramBlock(String namespace, String oldName, long pid, int IDPrefix, Program prog, Set<String> fnStack, Set<String> fnCreated, boolean plain)
namespace
- function namespaceoldName
- ?pid
- ?IDPrefix
- ?prog
- runtime programfnStack
- ?fnCreated
- ?plain
- ?public static FunctionProgramBlock createDeepCopyFunctionProgramBlock(FunctionProgramBlock fpb, Set<String> fnStack, Set<String> fnCreated)
public static ArrayList<Instruction> createDeepCopyInstructionSet(ArrayList<Instruction> instSet, long pid, int IDPrefix, Program prog, Set<String> fnStack, Set<String> fnCreated, boolean plain, boolean cpFunctions)
instSet
- list of instructionspid
- ?IDPrefix
- ?prog
- runtime programfnStack
- ?fnCreated
- ?plain
- ?cpFunctions
- ?public static Instruction cloneInstruction(Instruction oInst, long pid, boolean plain, boolean cpFunctions)
public static FunctionStatementBlock createDeepCopyFunctionStatementBlock(FunctionStatementBlock fsb, Set<String> fnStack, Set<String> fnCreated)
public static StatementBlock rCreateDeepCopyStatementBlock(StatementBlock sb)
public static StatementBlock createStatementBlockCopy(StatementBlock sb, long pid, boolean plain, boolean forceDeepCopy)
public static IfStatementBlock createIfStatementBlockCopy(IfStatementBlock sb, boolean forceDeepCopy)
public static WhileStatementBlock createWhileStatementBlockCopy(WhileStatementBlock sb, boolean forceDeepCopy)
public static ForStatementBlock createForStatementBlockCopy(ForStatementBlock sb, boolean forceDeepCopy)
public static String serializeSparkPSBody(SparkPSBody body, HashMap<String,byte[]> clsMap)
public static String serializeParForBody(ParForBody body)
public static String serializeParForBody(ParForBody body, HashMap<String,byte[]> clsMap)
public static String serializeResultVariables(List<ParForStatementBlock.ResultVar> vars)
public static SparkPSBody parseSparkPSBody(String in, int id)
public static ParForBody parseParForBody(String in, int id)
public static ParForBody parseParForBody(String in, int id, boolean inSpark)
public static Object[] parseDataObject(String in)
in
- data object as stringCopyright © 2020 The Apache Software Foundation. All rights reserved.