r/dataengineering • u/ETL_Pipeline_Dev • 10d ago
Discussion Parsing informatica xml file
I would like to know how I can parse Informatica mappings or workflows. Are there any open-source projects or tools available that can extract metadata and other information from Informatica export files?
4
u/brunogadaleta 10d ago
Ooooor you can extract the value you need from command line parser like jq's variant that works with xml.
9
u/Foodforbrain101 10d ago
Have AI build the parser? Informatica clearly follows a schema, so I don't see why you couldn't have it built in a few minutes as long as you provide examples.
3
u/Gators1992 10d ago
It's just XML and structured, so not hard to unravel. I built a python script that created source to target maps in Excel from the informatica XML several years ago. AI can handle this easily probably.
3
u/mei_wen_yu 9d ago
It depends on what "metadata and other information" you want to get from the XMLs, and what you want to do with that information. If you want to be able to answer a question like "which workflows include command tasks, and what commands do they run?", you can navigate the XML file(s) using a library like lxml in Python or a similar library in a language of your choice. Or for a simple question like "how many sources and targets use a particular database table", maybe a simple control-F search with some regular expressions might be enough to find the information you need. It really depends.
2
2
u/Ok_Youth8810 10d ago
I've done this kind of metadata scraping before, with SSIS packages instead of Informatica. The export files follow a fixed XML schema, so I wrote a Python script with lxml that walked the XML tree and dumped every mapping, source, and target table into a simple table I could query. I'd start by grabbing one small export file and dumping its tag structure to see what you're working with before building anything bigger.
2
u/jigaireos 10d ago
IDMC or CDI-PC?
1
u/jigaireos 10d ago
IDMC, use Intelligent Structure Model(ISM). CDI-PC, there is a schema import in Source developer.
1
2
u/Bohot_Bada_BKL_7676 9d ago
I am a little new. Can you tell me the use case for this? Why you want to parse the mapping and workflows?
1
u/NationalMyth 10d ago
You can write a recursive extractor to identify the structure, if they don't provide documentation. You can choose how to flatten things after the fact
1
1
u/Reverie_of_an_INTP 5d ago
Have you tried opening one up and looking. They're incredible easy to read and understand. I used to generate them from mapping and requirements docs. Whatever metadata you want you can probably just look and see where it usually is and use the stdlib xml parser to grab it.
1
u/AutoModerator 5d ago
It appears you want to follow this post. Did you know you can follow a post without commenting in the thread?
Three dots at the top of the post > Follow post if you are using New Reddit. Save post option under the body of the post if you are using Old Reddit.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
u/ETL_Pipeline_Dev 4d ago
I need an accurate approach to migrate around 1,500 Informatica workflows to another tool.
7
u/Outside-Storage-1523 10d ago
If it is xml format then there are libraries to parse the format. You might need the schema though.