BODS Interview Questions
BODS Interview Questions
BusinessObjects Data Services provides a graphical interface that allows you to easily create jobs
that extract data from heterogeneous sources, transform that data to meet the business
requirements of your organization, and load the data into a single location.
Designer
Repository
Job Server
Engines
Access Server
Adapters
Real-time Services
Address Server
Cleansing Packages, Dictionaries, and Directories
Management Console
A job is the smallest unit of work that you can schedule independently for execution.
A work flow defines the decision-making process for executing data flows.
Data flows extract, transform, and load data. Everything having to do with data, including reading
sources, transforming data, and loading targets, occurs inside a data flow.
Database Datastores: provide a simple way to import metadata directly froman RDBMS.
Application Datastores: let users easily import metadata frommost Enterprise Resource
Planning (ERP) systems.
Adapter Datastores: can provide access to an application’s data and metadata or just
metadata.
6. What are Memory Datastores?
Data Services also allows you to create a database datastore using Memory as the Database type.
Memory Datastores are designed to enhance processing performance of data flows executing in
real-time jobs.
A file format is a set of properties describing the structure of a flat file. File formats describe the
metadata structure. File format objects can describe files in:
Repository is a set of tables that holds user-created and predefined system objects, source and
target metadata, and transformation rules. There are 3 types of repositories.
A local repository
A central repository
A profiler repository
A Repository is a set of tables that hold system objects, source and target metadata, and
transformation rules. A Datastore is an actual connection to a database that holds data.
A Parameter is an expression that passes a piece of information to a work flow, data flow or custom
function when it is called in a job. A Variable is a symbolic placeholder for values.
11. When would you use a global variable instead of a local variable?
While the variable will need to be used multiple times within a job
While reducing the development time required for passing values between job components
While creating a dependency between job level global variable name and job components
Incorrect syntax, Job Server not running, port numbers for Designer and Job Server not matching
Adapters are additional Java-based programs that can be installed on the job server to provide
connectivity to other systems such as Salesforce.com or the JavaMessagingQueue. There is also a
SoftwareDevelopment Kit (SDK) to allow customers to create adapters for custom applications.
14. List the data integrator transforms.
Data_Transfer
Date_Generation
Effective_Date
Hierarchy_Flattening
History_Preserving
Key_Generation
Map_CDC_Operation
Pivot Reverse Pivot
Table_Comparison
XML_Pipeline
Global_Address_Cleanse
Data_Cleanse
Match
Associate
Country_id
USA_Regulatory_Address_Cleanse
These are packages that enhance the ability of Data Cleanse to accurately process various forms of
global data by including language-specific reference data and parsing rules.
The Data Cleanse transform identifies and isolates specific parts of mixed data, and standardizes
your data based on information stored in the parsing dictionary, business rules defined in the rule
file, and expressions defined in the pattern file.
Directories provide information on addresses from postal authorities. Dictionary files are used to
identify, parse, and standardize data such as names, titles, and firm data.
18. Give some examples of how data can be enhanced through the data cleanse transform,
and describe the benefit of those enhancements.
Enhancement Benefit
Determine gender distributions and target
Gender Codes marketing campaigns
Provide fields for improving matching
Match Standards results
19. A project requires the parsing of names into given and family, validating
address information, and finding duplicates across several systems. Name the transforms
needed and the task they will perform.
Data Cleanse: Parse names into given and family.
Address Cleanse: Validate address information.
Match: Find duplicates.
20. Describe when to use the USA Regulatory and Global Address Cleanse transforms.
Use the USA Regulatory transform if USPS certification and/or additional options such as DPV and
Geocode are required. Global Address Cleanse should be utilized when processing multi-country
data.
21. What are the different strategies you can use to avoid duplicate rows of data when re-
loading a job?
It does not allow duplicated data entering into the target table. It works like Type1 Insert else Update
the rows based on Non-matching and matching data respectively.
Array fetch size indicates the number of rows retrieved in a single request to a source database. The
default value is 1000. Higher numbers reduce requests, lowering network traffic, and possibly
improve performance. The maximum value is 5000
Number of loaders loading with one loader is known as Single loader Loading. Loading when the
number of loaders is greater than one is known as Parallel Loading. The default number of loaders
is 1. The maximum number of loaders is 5.
The History_Preserving transform allows you to produce a new row in your target rather than
updating an existing row. You can indicate in which columns the transform identifies changes to be
preserved. If the value of certain columns change, this transform creates a new row for each row
flagged as UPDATE in the input data set.
The Map_Operation transform allows you to change operation codes on data sets to produce the
desired output. Operation codes: INSERT UPDATE, DELETE, NORMAL, or DISCARD.
Constructs a complete hierarchy from parent/child relationships, and then produces a description of
the hierarchy in vertically or horizontally flattened format.
Use the Case transform to simplify branch logic in data flows by consolidating case or decision-
making logic into one transform. The transform allows you to split a data set into smaller sets based
on logical branches.