Meta Integration® Model Bridge (MIMB)
"Metadata Integration" Solution

MIMB Bridge Documentation

MIMB Import Bridge from Metadata Excel Format

Bridge Specifications

Vendor Meta Integration Technology, Inc.
Tool Name Metadata Excel Format
Tool Version Excel 2003 to 2010
Tool Web Site http://metaintegration.com/Products/MIMB/
Supported Methodology [Metadata Management] Multi-Model, ETL (Source and Target Data Stores, Transformation Lineage, Expression Parsing) via Excel 2007 (XLSX) File

SPECIFICATIONS
Tool: Meta Integration Technology, Inc. / Metadata Excel Format version Excel 2003 to 2010 via Excel 2007 (XLSX) File
See http://metaintegration.com/Products/MIMB/
Metadata: [Metadata Management] Multi-Model, ETL (Source and Target Data Stores, Transformation Lineage, Expression Parsing)
Component: MicrosoftExcel version 11.2.0

DISCLAIMER
This import bridge requires internet access to download third-party libraries:
- such as https://repo.maven.apache.org/maven2/ to download open source third-party libraries,
- and more sites for other third-party software such as database specific JDBC drivers.

The downloaded third-party libraries are stored into $HOME/data/download/MIMB/
- If HTTPS fails, the import bridge then tries with HTTP.
- If a proxy is used to access internet, you must configure that proxy in the JRE (see the -j option in the Miscellaneous parameter).
- If the import bridge does not have full access to internet, that $HOME/data/download/MIMB/ directory can be copied from another server with internet access where the command $HOME/bin/MIMB.sh (or .bat) -d can be used to download all third-party libraries used by all bridges at once.

By running this import bridge, you hereby acknowledge responsibility for the license terms and any potential security vulnerabilities from these downloaded third-party software libraries.

OVERVIEW
The purpose of this import bridge is to import metadata from technologies / tools for which no existing import bridge is available: such as legacy data store or ETL tools, or hand written ETL jobs written in an unsupported language.

Productivity tools, such as spreadsheet editing tools, are commonly used to capture, document or publish physical, logical, and business metadata throughout the industry. A tool like Microsoft Office Excel is an especially common choice as it is nearly always available. It is understood by and familiar to business users, offers simple copy and paste compatibility with other Office applications, and conveniences such as spelling correction. Microsoft Excel import and export capabilities are provided to leverage these advantages.

This import bridge imports the metadata representing physical data stores, logical data models, and/or data mappings expressed in Microsoft Office Excel spreadsheets based on a standard Metadata Excel Format which uses multiple tabs (sheets) to represent different metamodel aspects:
- Data Modeling tabs: Models, Packages, Relationships, Domains, Constraints, Enumerations.
- Data Mappings tabs: Mappings, Joins, Filters, Lookups, Rules.

This import bridge imports metadata as:
- a data mapping / data integration model if it contains any Mappings,
- a logical/physical data model if it contains any Packages,
- a physical data store (e.g. Oracle) otherwise.

A Metadata Excel Format add-in creates a new 'Metadata' menu in the Excel ribbon to help navigate and manage spreadsheets which are designed using the standard format. These functions include:
- Inserting new worksheets in the 'Standard' format
- Show and hide functions to control which columns are displayed
- Annotation, formatting and validation of entries on a worksheet

The best way to learn, the standard Metadata Excel Format is to study from examples exported from previously imported databases, data models, or data integration jobs.
However, note that the Metadata Excel Format was not designed to (and therefore does not support to) export, edit, and import as a round-trip. In other words, this import bridge imports metadata as an on boarding technology, while its matching import bridge exports metadata as a report (e.g. summarizing lineage of complex DI/ETL jobs).

DEPRECATED END OF LIFE WARNING
As explained above this "Metadata Excel Format" import bridge is designed to emulate unsupported tools (for which a native import bridge is not available) on two independent use cases:
1- Data Modeling emulating a data store (database, business application, etc.)
2- Data Mapping emulating a data integration (DI, ETL, ELT, CDC)

The use of this old "Metadata Excel Format" import bridge for data mapping emulation (above use case #2) has been deprecated in 2022 and will be End Of Life (EOL) unsupported in 2024, as it has been replaced by the much more capable new "Data Mapping Script" import bridge.
Note that the new data mapping script format provides a number of advantages over the older Metadata Excel format (deprecated) including:
- The data mapping script format supports a full round trip (export/import) from/to a data mapping, while this is not possible with the older Metadata Excel format where the export was more for reporting and the import for bootstrapping.
- The data mapping script format files are generally much more compact than the very verbose Metadata Excel format files based on classifier/table maps and feature/column maps.
- The data mapping script format is easier to generate from SQL based DI/ETL/ELT/CDC tools.
- The data mapping script format supports both bulk mappings and query mappings, while the Metadata Excel format is quite limited in its handling of bulk mappings.
- The data mapping script format supports more source and target data store technologies (RDBMS, NoSQL, File Systems) that are supported by the Metadata Excel format.

REQUIREMENTS
The file must comply to the standard Metadata Excel Format which is:
- based on an Excel template called Standard-Blank.xlsx
- supported/enforced by an Excel 'Add-In' called Standard-Addin.xlam
both located in ${MODEL_BRIDGE_HOME}\conf\MIRModelBridgeTemplate\MIRMicrosoftExcel

Follow Microsoft Excel documentation about installing add-ins in Excel.

FREQUENTLY ASKED QUESTIONS
Q: Why are Business Name and Business Description not imported
A: When the Metadata Excel Format file does NOT contain any data mappings or data modeling packages, the metadata is imported as a physical data store (e.g. Oracle Database) for which the metamodel does not contain (and therefore ignore) any business names and business descriptions.

In the case of RDBMS, any SQL Comments (which can be used to document any tables or columns in the DDL) will be imported as Comment (itself not related to any other concept of User Comment / Feedback).

In the case of Data Mapping, there are only connection definitions, not actual data store definitions. In this way, only the connection definitions will receive any imported value and thus it is still not documenting the data stores themselves.

Q: How does the import bridge handle 'implicit joins'?
A: When a transformation is defined that requires the joining of two or more tables, a join should be specified on a 'Joins' type worksheet. If there are no entries on any 'Joins' type worksheet or if there are no worksheets of that type, then the import bridge will attempt to generate the corresponding join specifications required. In many cases, the import bridge will not have sufficient information to create the correct join and will instead generate a proposed join that must be corrected in the export tool.

On the other hand, if there are any entries (join specifications) on any 'Joins' type worksheets, the import bridge assumes that all joins are fully specified.

Q: Why do I see errors such as 'Table not found', 'Schema not found', or 'Model not found'.
A: These and other errors can be avoided by using the 'Add-In's Validation' operation. This catches most errors and positions the cursor to the first error cell. The cell is turned red and a specific error message is added as a cell comment.

Q: How do I create an XLSX file with an Excel version earlier than 2007?
A: From the Microsoft Download center, install the 'Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint File Formats'. It supports Office XP and 2003.

Q: How do I resolve an 'Out of Memory' error message in the log?
A: By default the import bridge allocates 512 MB of memory. For large models, you can increase this amount, as well as switch to a 64-bit Java Virtual Machine if you require more than 2 GB. Update the configuration file $MetaIntegration/conf/conf.properties with appropriate -Xmx parameter for a 64-bit JVM, for example:
M_JAVA_HOME=..\jre
M_JAVA_OPTIONS=-Xmx2G

LIMITATIONS
Refer to the current general known limitations at http://metaintegration.com/Products/MIMB/MIMBKnownLimitations.html or bundled in Documentation/ReadMe/MIMBKnownLimitations.html

The Excel Metadata Format is not the recommended means for documentation, especially of the Business Name and Business Description. Instead, the customer should used the CSV format of export, editing and then re-import, as documented in the user guide, which will then be documenting the actual data stores, not the connection definitions.

1. All metadata source spreadsheets must be defined in the Standard format, as this is the only format directly supported. To accommodate a legacy migration activity involving a very large number of existing spreadsheets, the format expected by the import bridge is not hard coded but rather defined by 'Blank' spreadsheets specifying how each spreadsheet cell relates to a neutral repository meta model. This flexibility is available only as a specific customized import bridge which may be provided through consulting services.
2. While both import (reading from spreadsheet) and export (writing to spreadsheet) capabilities are offered, they are not designed to support round-trip re-engineering. For example, one may forward engineer the mapping requirements into a DI/ETL tool for design, but the purpose of exporting from that DI/ETL tool back to Excel is to provide a mapping lineage summary independent of all internal multiple complex transformations and not to re-engineer the design and re-import.
3. Data Design and Architecture tool models may support round-trip type editing within Excel, to take advantage of the spell-checking, column and row based copy and paste, and other conveniences inherent to a spreadsheet environment. In this case, one should export to a spreadsheet, make the edits and then re-import into the original design tool, leveraging the compare and merge facilities provided with the receiving tool.
4. New source or target data stores may be exported to an existing spreadsheet. However, no merge or update features are offered at this time. Also, when importing an Excel spreadsheet into a DI/ETL tool, the receiving tool is responsible for integrating/merging the models and mappings within its existing versions.
5. Specific assumptions and limitations are provided for each pre-defined format in the appropriate ${MODEL_BRIDGE_HOME}\conf\MIRModelBridgeTemplate\MIRMicrosoftExcel\*-Blank.xlsx file
6. Using a spreadsheet to manage metadata may have limitations in some cases. There are no actual limits for any information represented as rows in the spreadsheet, for example there are no limits in the number of entities/tables per model, or the number of attributes/columns per entity/table. However, there are some limitations for any information represented as columns for usability reasons. For example, the nesting of packages within a model, the number of PK/FK/AK keys a given attribute/column can be involved in, or more importantly the number of custom UDP allocated to an entity/table, attribute/column, or data type.
7. Flat file type supports Delimited or Fixed Width flat files. Fixed Width files use the Position attribute to set 'absolute number of characters from the beginning of the row' for each of their fields/columns. Delimited files use the Position attribute to depict the order of their fields/columns.
8. With respect to Comments vs. Descriptions:
A physical data model has a "Comment" on a table which ends up been generated as SQL Comment in the DDL.
A logical data model has a "Description" on an entity. That logical entity may be associated to a physical table if the model is both Logical/Physical, but a Physical only data model cannot have a description and a comment by design.
Therefore, when an Entity / Table / Record / View / File has a Design Level of a Logical/physical, you may see both a (physical) comment, and separately a (logical) description.
However, when an Entity / Table / Record / View / File has a Design Level of a Physical only, then it can have only one description taken from (physical) comment, or (logical) description if present (in such case the physical comment is ignored).

SUPPORT
Provide a troubleshooting package with:
- the debug log (can be set in the UI or in conf/conf.properties with MIR_LOG_LEVEL=6)
- the metadata backup if available (can be set in the Miscellaneous parameter with -backup option, although this common option is not implemented on all bridges for technical reasons).


Bridge Parameters

Parameter Name Description Type Values Default Scope
File This import bridge reads an Excel spreadsheet in XLSX format and creates a model from its textual information. The "File" parameter should contain the name of this first spreadsheet, generally referred to as the "metadata import spreadsheet."

This metadata import spreadsheet MUST be formatted to match the blank spreadsheet.
Please find samples of these metadata import spreadsheets in:
${MODEL_BRIDGE_HOME}/conf/MIRModelBridgeTemplate/MIRMicrosoftExcel/BlankFiles/
Using these files as guides, you may simply create a metadata import spreadsheet with your own model information that matches these examples.
FILE *.xlsx   Mandatory
Miscellaneous INTRODUCTION
Specify miscellaneous options starting with a dash and optionally followed by parameters, e.g.
-connection.cast MyDatabase1="MICROSOFT SQL SERVER"
Some options can be used multiple times if applicable, e.g.
-connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2;
As the list of options can become a long string, it is possible to load it from a file which must be located in ${MODEL_BRIDGE_HOME}\data\MIMB\parameters and have the extension .txt. In such case, all options must be defined within that file as the only value of this parameter, e.g.
ETL/Miscellaneous.txt

JAVA ENVIRONMENT OPTIONS
-java.memory <Java Memory's maximum size> (previously -m)

1G by default on 64bits JRE or as set in conf/conf.properties, e.g.
-java.memory 8G
-java.memory 8000M

-java.parameters <Java Runtime Environment command line options> (previously -j)

This option must be the last one in the Miscellaneous parameter as all the text after -java.parameters is passed "as is" to the JRE, e.g.
-java.parameters -Dname=value -Xms1G
The following option must be set when a proxy is used to access internet (this is critical to access https://repo.maven.apache.org/maven2/ and exceptionally a few other tool sites) in order to download the necessary third-party software libraries.
Note: The majority of proxies are concerned with encrypting (HTTPS) the outside (of the company) traffic and trust the inside traffic that can access proxy over HTTP. In this case, an HTTPS request reaches the proxy over HTTP where the proxy HTTPS-encrypts it.
-java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass

MODEL IMPORT OPTIONS
-model.name <model name>

Override the model name, e.g.
-model.name "My Model Name"

-prescript <script name>

This option allows running a script before the bridge execution.
The script must be located in the bin directory (or as specified with M_SCRIPT_PATH in conf/conf.properties), and have .bat or .sh extension.
The script path must not include any parent directory symbol (..).
The script should return exit code 0 to indicate success, or another value to indicate failure.
For example:
-prescript "script.bat arg1 arg2"

-postscript <script name>

This option allows running a script after successful execution of the bridge.
The script must be located in the bin directory (or as specified with M_SCRIPT_PATH in conf/conf.properties), and have .bat or .sh extension.
The script path must not include any parent directory symbol (..).
The script should return exit code 0 to indicate success, or another value to indicate failure.
For example:
-postscript "script.bat arg1 arg2"

-cache.clear

Clears the cache before the import, and therefore will run a full import without incremental harvesting.

If the model was not changed and the -cache.clear parameter is not used (incremental harvesting), then a new version will not be created.
If the model was not changed and the -cache.clear parameter is set (full source import instead of incremental), then a new version will be created.

-backup <directory>

Allows to save the input metadata for further troubleshooting. The provided <directory> must be empty.

-restore <directory>

Specify the backup <directory> to be restored.

DATA CONNECTION OPTIONS
Data Connections are produced by the import bridges typically from ETL/DI and BI tools to refer to the source and target data stores they use. These data connections are then used by metadata management tools to connect them (metadata stitching) to their actual data stores (e.g. databases, file system, etc.) in order to produce the full end to end data flow lineage and impact analysis. The name of each data connection is unique by import model. The data connection names used within DI/BI design tools are used when possible, otherwise connection names are generated to be short but meaningful such as the database / schema name, the file system path, or Uniform Resource Identifier (URI). The following option allows to manipulate connections. These options replaces the legacy options -c, -cd, and -cs.

-connection.cast ConnectionName=ConnectionType

Casts a generic database connection (e.g. ODBC/JDBC) to a precise database type (e.g. ORACLE) for SQL Parsing, e.g.
-connection.cast "My Database"="MICROSOFT SQL SERVER".
The list of supported data store connection types includes:
ACCESS
APACHE CASSANDRA
DB2/UDB
DENODO
GOOGLE BIGQUERY
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
MICROSOFT SQL AZURE
MICROSOFT SQL SERVER
SYBASE SQL SERVER
SYBASE AS ENTERPRISE
TERADATA
VECTORWISE
HP VERTICA

-connection.rename OldConnection=NewConnection

Renames an existing connection to a new name, e.g.
-connection.rename OldConnectionName=NewConnectionName
Multiple existing database connections can be renamed and merged into one new database connection, e.g.
-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase

-connection.split oldConnection.Schema1=newConnection

Splits a database connection into one or multiple database connections.
A single database connection can be split into one connection per schema, e.g.
-connection.split MyDatabase
All database connections can be split into one connection per schema, e.g.
-connection.split *
A database connection can be explicitly split creating a new database connection by appending a schema name to a database, e.g.
-connection.split MyDatabase.schema1=MySchema1

-connection.map SourcePath=DestinationPath

Maps a source path to destination path. This is useful for file system connections when different paths points to the same object (directory or file).
On Hadoop, a process can write into a CSV file specified with the HDFS full path, but another process reads from a Hive table implemented (external) by the same file specified using a relative path with default file name and extension, e.g.
-connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv
On Linux, a given directory (or file) like /data can be referred to by multiple symbolic links like /users/john and /users/paul, e.g.
-connection.map /data=/users/John -connection.map /data=/users/paul
On Windows, a given directory like C:\data can be referred to by multiple network drives like M: and N:, e.g.
-connection.map C:\data=M:\ -connection.map C:\data=N:\

-connection.casesensitive ConnectionName...

Overrides the default case insensitive matching rules for the object identifiers inside the specified connection, provided the detected type of the data store by itself supports this configuration (e.g. Microsoft SQL Server, MySql etc.), e.g.
-connection.casesensitive "My Database"

-connection.caseinsensitive ConnectionName...

Overrides the default case sensitive matching rules for the object identifiers inside the specified connection, provided the detected type of the data store by itself supports this configuration (e.g. Microsoft SQL Server, MySql etc.), e.g.
-connection.caseinsensitive "My Database"

-connection.level AggregationLevel

Specifies the aggregation level for the external connections, e.g.-connection.level catalog
The list of the supported values:
server
catalog
schema (default)

ETL OPTIONS
These options are available on all ETL/DI tools and scripting import bridges in order to:
- Process all SQL parsing
- Build runtime models from design models and runtime variables
- Calculate runtime summary lineage

-etl.summary.add.ultimate (previously -ppus)

Adds the ultimate runtime lineage summary (may generate a very large model).

-etl.summary.only.ultimate (previously -ppsp)

Only produces the ultimate runtime lineage summary (may generate a very large model).

-etl.connections.add.internal.design (previously -pppd)

Adds the internal ETL design data connectors (needed for ETL conversion).

-etl.connections.remove.input (previously -ri)

Removes all input (source) data connections (to reduce the size of the generated model).

-etl.transformations.enable.xml

This option enables the parsing and support of XML transformations in DI/ETL import bridges such as Informatica PowerCenter, Informatica Developer, Microsoft SSIS, IBM DataStage, and Talend Data Integration.
In case of Informatica, such XML transformations corresponds to the following PowerCenter features
https://docs.informatica.com/data-integration/powercenter/10-5/xml-guide/midstream-xml-transformations.html
https://docs.informatica.com/data-integration/powercenter/10-5/xml-guide/xml-source-qualifier-transformation.html
Note that this option may significantly slow down the import.
STRING      

 

Bridge Mapping

Meta Integration Repository (MIR)
Metamodel
(based on the OMG CWM standard)
"Metadata Excel Format"
Metamodel
MicrosoftExcel
Mapping Comments
     
Attribute Attributes, SourceAttributes or TargetAttributes  
Comment Attribute Comment  
Description Attribute Description  
InitialValue Attribute Initial Value  
Name Attribute Name  
Optional Is Attribute Optional Is Attribute Required
PhysicalName Attribute Physical name  
Position Attribute Position  
Class Classes, SourceClasses or TargetClasses  
Comment Class Comment  
Description Class Description  
Name Class Name  
PhysicalName Class Physical name  
ClassifierMap   Computed based on feature maps
DataAttribute   Computed based on feature maps
DataSet   Computed based on Transformation
DatabaseSchema Schemas, SourceSchemas or TargetSchemas Created based on the "System Type"
Comment Schema Comment  
Description Schema Description  
Name Schema Name  
PhysicalName Schema Physical name  
DerivedType   Create using "Data Type Inherited From" or calculated using template data.
Comment Data Type Comment  
Description Data Type Description  
InitialValue Data Type Initial Value  
Length Data Type Length  
LowerBound Data Type Min Value  
Name Data Type Name  
PhysicalName Data Type Physical Name  
Scale Data Type Scale  
UpperBound Data Type Max Value  
UserDefined   Calculated based on the datatype usage
DesignPackage DataPackages, SourceDataPackages or TargetDataPackages  
Comment Package Comment  
Description Package Description  
Name Package Name  
PhysicalName Package Physical name  
FeatureMap FeatureMaps Computed based on source and target attribute references.
Description Feature Map Description  
Name Feature Map Name  
Operation Feature Map Operation  
FileDirectory Schemas, SourceSchemas or TargetSchemas Created based on the "System Type"
Comment Schema Comment  
Description Schema Description  
Name Schema Name  
PhysicalName Schema Physical name  
PropertyType   Defined in the template
DataType   Defined in the template
InitialValue   Defined in the template
Name   Defined in the template
Name   Defined in the template
Value   Defined in the template
StoreModel Models  
Author Model Creation Time  
Comment Model Comment  
CreationTime Model Creation Time  
Description Model Description  
ModificationTime Model Creation Time  
Modifier Model Creation Time  
Name Model Name  
PhysicalName Model Physical name  
SystemType System Type  
SystemTypeOld System Type  
TypeValue DataTypes, SourceDataTypes or TargetDataTypes  
Description Data Type Enumerated Value Description  
Name Data Type Enumerated Value  

Last updated on Thu, 26 Sep 2024 18:06:45

Copyright © 1997-2024 Meta Integration Technology, Inc. All Rights Reserved.

Meta Integration® is a registered trademark of Meta Integration Technology, Inc.
All other trademarks, trade names, service marks, and logos referenced herein belong to their respective companies.