Cargar datos de canales de YouTube en BigQuery
Puedes cargar datos de un canal de YouTube en BigQuery mediante el conector de BigQuery Data Transfer Service para canales de YouTube. Con BigQuery Data Transfer Service, puedes programar transferencias periódicas para añadir los datos más recientes de tu canal de YouTube a BigQuery.
Descripción general de los conectores
BigQuery Data Transfer Service para el conector de canales de YouTube admite las siguientes opciones para la transferencia de datos.
Opciones de transferencia de datos | Asistencia |
---|---|
Informes admitidos | El conector de canal de YouTube admite la transferencia de datos de informes de canales.
El conector de canal de YouTube es compatible con la versión de la API del 18 de junio del 2018. Para obtener información sobre cómo se transforman los informes de canales de YouTube en tablas y vistas de BigQuery, consulta el artículo Transformación de informes de canales de YouTube. |
Frecuencia de repetición | El conector de canal de YouTube admite transferencias de datos diarias. De forma predeterminada, las transferencias de datos se programan en el momento en que se crean. Puedes configurar la hora de la transferencia de datos cuando configures la transferencia de datos. |
Ventana de actualización | El conector de canal de YouTube obtiene datos de canales de YouTube de hasta 1 día en el momento en que se ejecuta la transferencia de datos.
Para obtener más información, consulta Actualizar ventanas. |
Disponibilidad de los datos de reposición | Ejecuta un rellenado automático de datos para recuperar datos que no estén incluidos en la transferencia de datos programada. Puedes recuperar datos de hace tanto tiempo como permita la política de conservación de datos de tu fuente de datos. Los informes de YouTube que contienen datos históricos están disponibles durante 30 días a partir del momento en que se generan. Los informes que contienen datos no históricos están disponibles durante 60 días. Para obtener más información, consulta Datos históricos. |
Ingestión de datos de transferencias de canales de YouTube
Cuando transfiere datos de un canal de YouTube a BigQuery, los datos se cargan en tablas de BigQuery que están particionadas por fecha. La partición de la tabla en la que se cargan los datos corresponde a la fecha de la fuente de datos. Si programa varias transferencias para la misma fecha, BigQuery Data Transfer Service sobrescribirá la partición de esa fecha con los datos más recientes. Si se realizan varias transferencias el mismo día o se ejecutan rellenados, no se duplicarán los datos y no se verán afectadas las particiones de otras fechas.Actualizar ventanas
Una ventana de actualización es el número de días durante los que una transferencia de datos recupera datos cuando se produce una transferencia de datos. Por ejemplo, si la ventana de actualización es de tres días y se produce una transferencia diaria, BigQuery Data Transfer Service recupera todos los datos de la tabla de origen de los últimos tres días. En este ejemplo, cuando se produce una transferencia diaria, BigQuery Data Transfer Service crea una partición de tabla de destino de BigQuery con una copia de los datos de la tabla de origen del día actual y, a continuación, activa automáticamente ejecuciones de relleno para actualizar las particiones de tabla de destino de BigQuery con los datos de la tabla de origen de los dos días anteriores. Las ejecuciones de relleno automático sobrescribirán o actualizarán de forma incremental tu tabla de destino de BigQuery, en función de si el conector de BigQuery Data Transfer Service admite o no las actualizaciones incrementales.
Cuando ejecutas una transferencia de datos por primera vez, esta recupera todos los datos de origen disponibles en la ventana de actualización. Por ejemplo, si la ventana de actualización es de tres días y ejecutas la transferencia de datos por primera vez, BigQuery Data Transfer Service recuperará todos los datos de origen en un plazo de tres días.
Los periodos de actualización se asignan al campo de la API TransferConfig.data_refresh_window_days
.
Para recuperar datos que no estén dentro del periodo de actualización (por ejemplo, datos históricos) o para recuperar datos de interrupciones o brechas en la transferencia, puedes iniciar o programar una reposición.
Limitaciones
- El tamaño máximo de archivo admitido para cada informe es de 1710 GB.
- La frecuencia mínima con la que puedes programar una transferencia de datos es de una vez cada 24 horas. De forma predeterminada, la transferencia de datos se inicia en el momento en que crea la transferencia. Sin embargo, puedes configurar la hora de inicio de la transferencia de datos cuando configures la transferencia.
- BigQuery Data Transfer Service no admite transferencias de datos incrementales durante una transferencia de propietario del contenido de YouTube. Cuando especifica una fecha para una transferencia de datos, se transfieren todos los datos disponibles para esa fecha.
- No puedes crear una transferencia de datos de un canal de YouTube si has iniciado sesión con una identidad federada. Solo puedes crear una transferencia de canal de YouTube si has iniciado sesión con una cuenta de Google.
Antes de empezar
Antes de crear una transferencia de datos de canal de YouTube, debes hacer lo siguiente:
- Comprueba que has completado todas las acciones necesarias para habilitar BigQuery Data Transfer Service.
- Crea un conjunto de datos de BigQuery para almacenar los datos de YouTube.
Permisos obligatorios
Para crear una transferencia de datos de canal de YouTube, se necesita lo siguiente:
- YouTube: propiedad del canal de YouTube
BigQuery: los siguientes permisos de gestión de identidades y accesos (IAM) en BigQuery:
bigquery.transfers.update
para crear la transferencia.bigquery.datasets.get
ybigquery.datasets.update
en el conjunto de datos de destino.- Si quieres configurar notificaciones de ejecuciones de transferencias para Pub/Sub, debes tener permisos de
pubsub.topics.setIamPolicy
. No se necesitan permisos de Pub/Sub si solo configura notificaciones por correo electrónico. Para obtener más información, consulta el artículo sobre las notificaciones de ejecución de BigQuery Data Transfer Service.
El rol de gestión de identidades y accesos predefinido bigquery.admin
incluye todos los permisos de BigQuery que necesitas para crear una transferencia de datos de canal de YouTube. Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.
Configurar una transferencia de canal de YouTube
Para configurar una transferencia de datos de un canal de YouTube, necesitas lo siguiente:
- Sufijo de tabla: nombre descriptivo del canal que proporcionas al configurar la transferencia de datos. El sufijo se añade al ID de tarea para crear el nombre de la tabla, por ejemplo, reportTypeId_suffix. El sufijo se usa para evitar que las transferencias independientes escriban en las mismas tablas. El sufijo de la tabla debe ser único en todas las transferencias que carguen datos en el mismo conjunto de datos, y debe ser corto para minimizar la longitud del nombre de la tabla resultante.
Si usas la API YouTube Reporting y tienes tareas de informes, BigQuery Data Transfer Service carga los datos de los informes. Si no tiene ningún trabajo de generación de informes, al configurar la transferencia se habilitarán automáticamente los trabajos de generación de informes de YouTube.
Para crear una transferencia de datos de canal de YouTube, siga estos pasos:
Consola
Ve a la página Transferencias de datos de la Google Cloud consola.
Haz clic en
Crear transferencia.En la página Crear transferencia, haz lo siguiente:
En la sección Tipo de fuente, en Fuente, elige Canal de YouTube.
En la sección Nombre de la configuración de transferencia, en Nombre visible, indica un nombre para la transferencia de datos; por ejemplo,
My Transfer
. El nombre de la transferencia puede ser cualquier valor que te permita identificarla si necesitas modificarla más adelante.En la sección Opciones de programación:
- En Frecuencia de repetición, elige una opción para determinar la frecuencia con la que se realizará la transferencia de datos. Si seleccionas Días, indica una hora válida en UTC.
- Si procede, selecciona Empezar ahora o Empezar a una hora determinada y proporciona una fecha de inicio y un tiempo de ejecución.
En la sección Configuración de destino, en Conjunto de datos de destino, selecciona el conjunto de datos que has creado para almacenar los datos.
En la sección Detalles de la fuente de datos:
- En Sufijo de tabla, introduce un sufijo, como
MT
. - Marca la casilla Configurar tareas para permitir que BigQuery gestione las tareas de informes de YouTube por ti. Si hay informes de YouTube que aún no existen en tu cuenta, se crearán nuevos trabajos de informes para habilitarlos.
- En Sufijo de tabla, introduce un sufijo, como
(Opcional) En la sección Opciones de notificación:
- Haz clic en el interruptor para habilitar las notificaciones por correo electrónico. Si habilitas esta opción, el administrador de las transferencias recibirá una notificación por correo cuando falle una ejecución de transferencia.
- En Selecciona un tema de Pub/Sub, elige el nombre del tema o haz clic en Crear un tema. Esta opción configura las notificaciones de Pub/Sub sobre la transferencia de datos.
Haz clic en Guardar.
bq
Introduce el comando bq mk
y proporciona la marca de creación de transferencia —
--transfer_config
. También se necesitan las siguientes marcas:
--data_source
--target_dataset
--display_name
--params
bq mk \ --transfer_config \ --project_id=project_id \ --target_dataset=dataset \ --display_name=name \ --params='parameters' \ --data_source=data_source
Donde:
- project_id es el ID del proyecto.
- dataset es el conjunto de datos de destino de la configuración de transferencia.
- name es el nombre visible de la configuración de transferencia. El nombre de la transferencia de datos puede ser cualquier valor que te permita identificar la transferencia si necesitas modificarla más adelante.
- parameters contiene los parámetros de la configuración de transferencia creada en formato JSON. Por ejemplo:
--params='{"param":"param_value"}'
. En el caso de las transferencias de datos de canales de YouTube, debe proporcionar el parámetrotable_suffix
. También puedes definir el parámetroconfigure_jobs
entrue
para permitir que BigQuery Data Transfer Service gestione las tareas de informes de YouTube por ti. Si hay informes de YouTube que no existen en tu canal, se crearán nuevos trabajos de informes para habilitarlos. - data_source es la fuente de datos:
youtube_channel
.
También puedes usar la marca --project_id
para especificar un proyecto concreto. Si no se especifica --project_id
, se usa el proyecto predeterminado.
Por ejemplo, el siguiente comando crea una transferencia de datos de canal de YouTube llamada My Transfer
con el sufijo de tabla MT
y el conjunto de datos de destino mydataset
. La transferencia de datos se crea en el proyecto predeterminado:
bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"table_suffix":"MT","configure_jobs":"true"}' \
--data_source=youtube_channel
API
Usa el método projects.locations.transferConfigs.create
y proporciona una instancia del recurso TransferConfig
.
Java
Antes de probar este ejemplo, sigue las Javainstrucciones de configuración de la guía de inicio rápido de BigQuery con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de BigQuery.
Para autenticarte en BigQuery, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Consultar tus datos
Cuando tus datos se transfieren a BigQuery, se escriben en tablas con particiones por hora de ingestión. Para obtener más información, consulta el artículo Introducción a las tablas particionadas.
Si consultas tus tablas directamente en lugar de usar las vistas generadas automáticamente, debes usar la pseudocolumna _PARTITIONTIME
en tu consulta. Para obtener más información, consulta Consultar tablas con particiones.
Solucionar problemas de configuración de transferencias de canales de YouTube
Si tienes problemas para configurar la transferencia de datos, consulta la sección Problemas con la transferencia de YouTube del artículo Solucionar problemas con las configuraciones de transferencia.