This package models YouTube Analytics data from Fivetran’s connector. It uses data in the format described by the YouTube Channel Report schemas.
Modelslink
This package contains staging models, designed to work simultaneously with our YouTube Analytics transform package. The staging models name columns consistently across all packages:
- Boolean fields are prefixed with
is_
orhas_
- Timestamps are appended with
_timestamp
- ID primary keys are prefixed with the name of the table. For example, the video_metadata table’s ID column is renamed
video_id
.
Installation Instructionslink
Check dbt Hub for the latest installation instructions, or read the dbt docs for more information on installing packages.
Include in your packages.yml
packages:
- package: fivetran/youtube_analytics_source
version: [">=0.2.0", "<0.3.0"]
Configurationlink
Required YouTube Channel Reportslink
To use this package you will need to pull the following YouTube Analytics reports through Fivetran:
- channel_basic_a2 (required)
- channel_demographics_a1 (optional)
- videos metadata table (optional)
Schema Configurationlink
By default, this package will look for your YouTube Analytics data in the youtube_analytics
schema of your target database. If this is not where your YouTube Analytics data is, please add the following configuration to your dbt_project.yml
file:
...
config-version: 2
vars:
youtube_analytics_schema: your_schema_name
youtube_analytics_database: your_database_name
YouTube Video Metadatalink
The Fivetran YouTube Analytics connector currently does not support video metadata. Consequently, it may be difficult to analyze individual video data without knowing which video belongs to which record.
As a workaround, you can create a Functions connector that syncs your YouTube video metadata into a table in your destination. This dbt package can then use the VIDEOS
metadata table to enrich your YouTube Analytics reporting data. To learn more about creating a Functions connector, read our YouTube Analytics Video Metadata Cloud Function article. It provides code and detailed steps on how to configure the function.
Enable Video Metadatalink
By default, the video metadata functionality within this package is disabled. If you have configured a cloud function to sync your video metadata into a VIDEOS
table, you must enable the video metadata functionality to incorporate the metadata into your package. You may use the variable configuration below in your dbt_project.yml
to enable this functionality:
...
vars:
youtube__using_video_metadata: true # false by default
Video Metadata Schema Configurationlink
By default, this package will look for your VIDEOS
YouTube Analytics metadata table in the youtube_analytics_metadata
schema of your target database. If this is not where your YouTube Analytics metadata table is, please add the following configuration to your dbt_project.yml
file:
...
config-version: 2
vars:
youtube_metadata_schema: your_schema_name
youtube_analytics_database: your_database_name
Disable Demographics Reportlink
This packages assumes you are syncing the YouTube channel_demographics_a1
report. If you are not syncing this report, you may add the below configuration to your dbt_project.yml
to disable the stg_youtube__demographics
model and all downstream references.
...
vars:
youtube__using_channel_demographics: false # true by default
Specifying Source Table Nameslink
This package assumes that the channel_basic_a_2
and channel_demographics_a_1
reports are named accordingly. If these reports have different names in your destination, enter the correct names in the channel_basic_table_name
and/or channel_demographics_table_name
variables in your dbt_project.yml
so that the package can find them:
...
vars:
youtube__channel_basic_table: "my_channel_basic_table_name"
youtube__channel_demographics_table: "demographics_youtube_report"
Changing the Build Schemalink
By default, this package will build the YouTube Analytics staging models within a schema titled (<target_schema>
+ _stg_youtube_analytics
) in your target database. If this is not where you would like your YouTube Analytics staging data to be written to, add the following configuration to your dbt_project.yml
file:
...
models:
youtube_analytics_source:
+schema: my_new_schema_name # leave blank for just the target_schema
Database Supportlink
This package has been tested on BigQuery, Snowflake, Redshift, Postgres, and Databricks.
Databricks Dispatch Configurationlink
dbt v0.20.0
introduced a new project-level dispatch configuration that enables an “override” setting for all dispatched macros. If you are using a Databricks destination with this package, you will need to add the dispatch configuration below (or a variation of the below) within your dbt_project.yml
. This is required in order for the package to accurately search for macros within the dbt-labs/spark_utils
then the dbt-labs/dbt_utils
packages respectively.
dispatch:
- macro_namespace: dbt_utils
search_order: ['spark_utils', 'dbt_utils']
Contributionslink
Additional contributions to this package are very welcome! Please create issues
or open PRs against main
. Check out
this post
on the best workflow for contributing to a package.
Resources:link
- Provide feedback on our existing dbt packages or what you’d like to see next
- Have questions, feedback, or need help? Book a time during our office hours using Calendly or email us at solutions@fivetran.com
- Find all of Fivetran’s pre-built dbt packages in our dbt hub
- Learn how to orchestrate your models with Fivetran Transformations for dbt Core™
- Learn more about Fivetran overall in our docs
- Check out Fivetran’s blog
- Learn more about dbt in the dbt docs
- Check out Discourse for commonly asked questions and answers
- Join the chat on Slack for live discussions and support
- Find dbt events near you
- Check out the dbt blog for the latest news on dbt’s development and best practices