Skip to main content
Version: 1.0.0

Qlik Sense

Incubating

Important Capabilities​

CapabilityStatusNotes
Asset Containers✅Enabled by default
Column-level Lineage✅Disabled by default.
Descriptions✅Enabled by default
Detect Deleted Entities✅Optionally enabled via stateful_ingestion.remove_stale_metadata
Extract Ownership✅Enabled by default, configured using ingest_owner
Platform Instance✅Enabled by default
Schema Metadata✅Enabled by default
Table-Level Lineage✅Enabled by default.

This plugin extracts the following:

  • Qlik Sense Spaces and Apps as Container.
  • Qlik Datasets
  • Sheets as dashboard and its charts

Integration Details​

This source extracts the following:

  • Accessible spaces and apps within that spaces as Container.
  • Qlik Datasets as Datahub Datasets with schema metadata.
  • Sheets as Datahub dashboard and charts present inside sheets.

Configuration Notes​

  1. Refer doc to generate an API key from the hub.
  2. Get tenant hostname from About tab after login to qlik sense account.

Concept mapping​

Qlik SenseDatahubNotes
SpaceContainerSubType "Qlik Space"
AppContainerSubType "Qlik App"
SheetDashboard
ChartChart
DatasetDatasetSubType "Qlik Dataset"
UserUser (a.k.a CorpUser)Optionally Extracted

CLI based Ingestion​

Starter Recipe​

Check out the following recipe to get started with ingestion! See below for full configuration options.

For general pointers on writing and running a recipe, see our main recipe guide.

source:
type: qlik-sense
config:
# Coordinates
tenant_hostname: "xyz12xz.us.qlikcloud.com"
# Credentials
api_key: "QLIK_API_KEY"

# Optional - filter for certain space names instead of ingesting everything.
# Mention 'personal_space' if entities of personal space need to ingest
# space_pattern:
# allow:
# - space_name

ingest_owner: true

# Optional -- This mapping is optional and only required to configure platform-instance for Qlik app dataset upstream source tables
# A mapping of the Qlik app dataset upstream tables from data connection to platform instance. Use 'data_connection_name' as key.
# data_connection_to_platform_instance:
# data_connection_name:
# platform_instance: cloud_instance
# env: DEV

sink:
# sink configs

Config Details​

Note that a . is used to denote nested fields in the YAML recipe.

FieldDescription
api_key ✅
string
Qlik API Key
tenant_hostname ✅
string
Qlik Tenant hostname
ingest_owner
boolean
Ingest Owner from source. This will override Owner info entered from UI
Default: True
platform_instance
string
The instance of the platform that all assets produced by this recipe belong to. This should be unique within the platform. See https://datahubproject.io/docs/platform-instances/ for more details.
env
string
The environment that all assets produced by this connector belong to
Default: PROD
data_connection_to_platform_instance
map(str,PlatformDetail)
Any source that connects to a platform should inherit this class
data_connection_to_platform_instance.key.env
string
The environment that all assets produced by this connector belong to
Default: PROD
data_connection_to_platform_instance.key.platform_instance
string
The instance of the platform that all assets produced by this recipe belong to. This should be unique within the platform. See https://datahubproject.io/docs/platform-instances/ for more details.
space_pattern
AllowDenyPattern
Regex patterns to filter Qlik spaces in ingestion.Mention 'personal_space' if entities of personal space need to ingest
Default: {'allow': ['.*'], 'deny': [], 'ignoreCase': True}
space_pattern.ignoreCase
boolean
Whether to ignore case sensitivity during pattern matching.
Default: True
space_pattern.allow
array
List of regex patterns to include in ingestion
Default: ['.*']
space_pattern.allow.string
string
space_pattern.deny
array
List of regex patterns to exclude from ingestion.
Default: []
space_pattern.deny.string
string
stateful_ingestion
StatefulIngestionConfig
Stateful Ingestion Config
stateful_ingestion.enabled
boolean
Whether or not to enable stateful ingest. Default: True if a pipeline_name is set and either a datahub-rest sink or datahub_api is specified, otherwise False
Default: False

Code Coordinates​

  • Class Name: datahub.ingestion.source.qlik_sense.qlik_sense.QlikSenseSource
  • Browse on GitHub

Questions

If you've got any questions on configuring ingestion for Qlik Sense, feel free to ping us on our Slack.