Class NamedClusterEmbedManager
java.lang.Object
org.pentaho.di.trans.steps.named.cluster.NamedClusterEmbedManager
This class provides centralized logic to embed NamedClusters used by transformations/jobs in the embeddedMetaStore.
There are two or three steps in implementing embeddedNamedClusters in support of a step/entry.
1) Make the getXml() method of the step call the the registerUrl method here with any url used
by step/entry which may contain a reference to a named cluster. This class will parse the url and determine if a
named cluster is present. If a named cluster is found it will be added to embeddedMetastore which will ultimately
be written to the ktr file.
2) All accesses to KettleVFS.getFileObject should use a signature that provides a VariableSpace. This is because
VFS will be passed a key to the embeddedMetastore through this nameSpace. Some steps already do this and some don't.
3) At run time call the passEmbeddedMetastoreKey method to set variable in the namespace used in step 2.
Created by tkafalas on 7/14/2017.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
protected static org.pentaho.metastore.persist.MetaStoreFactory
-
Constructor Summary
ConstructorDescriptionNamedClusterEmbedManager
(AbstractMeta meta, org.pentaho.di.core.logging.LogChannelInterface log) Class creates an embedded metastores for NamedClusters -
Method Summary
Modifier and TypeMethodDescriptionvoid
addClusterToMeta
(String clusterName) void
clear()
Clear the embedded metastore of any named clustersboolean
void
passEmbeddedMetastoreKey
(org.pentaho.di.core.variables.VariableSpace nameSpace, String embeddedMetastoreProviderKey) Set the variable that will be used by Vfs to set the FileSystemOptions for the file system.void
registerUrl
(String urlString) If hc:// protocol is explicitly defined, check for a literal named Cluster.
-
Field Details
-
NAMESPACE
- See Also:
-
testMetaStoreFactory
protected static org.pentaho.metastore.persist.MetaStoreFactory testMetaStoreFactory
-
-
Constructor Details
-
NamedClusterEmbedManager
public NamedClusterEmbedManager(AbstractMeta meta, org.pentaho.di.core.logging.LogChannelInterface log) Class creates an embedded metastores for NamedClusters- Parameters:
meta
- The TransMeta or JobMeta
-
-
Method Details
-
registerUrl
If hc:// protocol is explicitly defined, check for a literal named Cluster. If present, add that cluster to the embedded meta. If the cluster name starts with a variable, add all named clusters. if the url starts with a variable, embed all named clusters.- Parameters:
urlString
- The Url of the file being accessed as stored by the transformation/job
-
clear
public void clear()Clear the embedded metastore of any named clusters -
isAddedAnyClusters
public boolean isAddedAnyClusters() -
addClusterToMeta
-
passEmbeddedMetastoreKey
public void passEmbeddedMetastoreKey(org.pentaho.di.core.variables.VariableSpace nameSpace, String embeddedMetastoreProviderKey) Set the variable that will be used by Vfs to set the FileSystemOptions for the file system.- Parameters:
nameSpace
- The namespace used by the getFileObject method to access VFS.embeddedMetastoreProviderKey
- The key to the embeddedMetastore from the AbstraceMeta
-