Interface ITabularEtlManager
Defines a contract for managing the extraction and loading of tabular data.
Using an [Workspace.XBR.Xperiflow.Etl.Tabular.ITabularEtlManager](../Xperiflow.Etl.Tabular/ITabularEtlManager.md)
, you can extract data from a source
and load it into a destination in separate steps, or with a call to ExtractAndLoad()
.
Use the XBRApi to instantiate a [Workspace.XBR.Xperiflow.Etl.Tabular.ITabularEtlManager](../Xperiflow.Etl.Tabular/ITabularEtlManager.md)
.
For example:
Example:
` var etlManager = XBRApi.Etl.GetTabularEtlManager(si); `
Example:
` var dataReader = etlManager.ExtractDataReader(sourceData); `
Example:
` etlManager.Load(destinationData, dataReader) `
- OR more simply -
Example:
` etlManager.ExtractAndLoad(sourceDataDefinition, destinationDataDefinition); `
Namespace: Workspace.XBR.Xperiflow.Etl.Tabular
Assembly: Xperiflow.dll
public interface ITabularEtlManager
Methods
ExtractDataReader(DataDefinition)
Extracts data from a [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
as an IDataReader
, for example:
Example:
` var dataReader = etlManager.ExtractDataReader(sourceDataDefinition); `
IDataReader ExtractDataReader(DataDefinition sourceDataDefinition)
Returns
System.Data.IDataReader
An IDataReader
object
Parameters
Type | Name | Description |
---|---|---|
Workspace.XBR.Xperiflow.Etl.DataDefinition | sourceDataDefinition | The [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to extract data from |
ExtractDataReader(string)
Extracts data from a JSON serialized [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
as an IDataReader
, for example:
Example:
` var dataReader = etlManager.ExtractDataReader(jsonSource); `
IDataReader ExtractDataReader(string sourceDataDefinition)
Returns
System.Data.IDataReader
An IDataReader
object
Parameters
Type | Name | Description |
---|---|---|
System.String | sourceDataDefinition | The JSON serialized [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to extract data from |
ExtractDataTable(DataDefinition)
Extracts data from a [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
as a DataTable
, for example:
Example:
` var dt = etlManager.ExtractDataTable(sourceDataDefinition);`
DataTable ExtractDataTable(DataDefinition sourceDataDefinition)
Returns
System.Data.DataTable
A DataTable
object containing the data defined by the sourceDataDefinition
Parameters
Type | Name | Description |
---|---|---|
Workspace.XBR.Xperiflow.Etl.DataDefinition | sourceDataDefinition | The [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to extract data from |
ExtractDataTable(string)
Extracts data from a JSON serialized [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
as a DataTable
, for example:
Example:
` var dt = etlManager.ExtractDataTable(jsonSource);`
DataTable ExtractDataTable(string sourceDataDefinition)
Returns
System.Data.DataTable
A DataTable
object containing the data defined by the sourceDataDefinition
Parameters
Type | Name | Description |
---|---|---|
System.String | sourceDataDefinition | The JSON serialized [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to extract data from |
Load(DataDefinition, DataTable)
Writes data from a DataTable
to a destination [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
, for example:
Example:
` etlManager.Load(destinationDataDefinition, dt); `
void Load(DataDefinition destinationDataDefinition, DataTable dt)
Parameters
Type | Name | Description |
---|---|---|
Workspace.XBR.Xperiflow.Etl.DataDefinition | destinationDataDefinition | The [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to load data into |
System.Data.DataTable | dt | The DataTable object containing the data to load |
Load(DataDefinition, IDataReader)
Writes data from an IDataReader
to a destination [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
, for example:
Example:
` etlManager.Load(destinationDataDefinition, reader); `
void Load(DataDefinition destinationDataDefinition, IDataReader reader)
Parameters
Type | Name | Description |
---|---|---|
Workspace.XBR.Xperiflow.Etl.DataDefinition | destinationDataDefinition | The [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to load data into |
System.Data.IDataReader | reader | The IDataReader object containing the data to load |
Load(string, DataTable)
Writes data from a DataTable
to a JSON serialized destination [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
, for example:
Example:
` etlManager.Load(destinationJSON, dt); `
void Load(string destinationDataDefinition, DataTable dt)
Parameters
Type | Name | Description |
---|---|---|
System.String | destinationDataDefinition | The JSON serialized [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to load data into |
System.Data.DataTable | dt | The DataTable object containing the data to load |
Load(string, IDataReader)
Writes data from an IDataReader
to a JSON serialized destination [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
, for example:
Example:
` etlManager.Load(destinationJSON, reader); `
void Load(string destinationDataDefinition, IDataReader reader)
Parameters
Type | Name | Description |
---|---|---|
System.String | destinationDataDefinition | The JSON serialized [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to load data into |
System.Data.IDataReader | reader | The IDataReader object containing the data to load |
ExtractAndLoad(DataDefinition, DataDefinition)
Extracts data from a source [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
and loads it into a destination [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
, for example:
Example:
` etlManager.ExtractAndLoad(sourceDataDefinition, destinationDataDefinition); `
void ExtractAndLoad(DataDefinition sourceDataDefinition, DataDefinition destinationDataDefinition)
Remarks
Note: This method does not support loading from and extracting to JSON serialized [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
s.
However, if you have JSON serialized [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
s, you can instantiate [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md)
objects
using var dataDefinition = [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md).FromJson(jsonData)
Parameters
Type | Name | Description |
---|---|---|
Workspace.XBR.Xperiflow.Etl.DataDefinition | sourceDataDefinition | The [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to extract data from |
Workspace.XBR.Xperiflow.Etl.DataDefinition | destinationDataDefinition | The [Workspace.XBR.Xperiflow.Etl.DataDefinition](../Xperiflow.Etl/DataDefinition.md) object to load data into |