Cloud Intelligence™
Cómo copiar datos dentro de BigQuery
Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.
About Joshua Fox
Joshua Fox has been a software architect in innovative technology companies for 20 years. Now, he advises tech startups and growth companies on architecture and cost optimization for Google Cloud Platform and Amazon Web Services; also publishing articles, and speaking to cloud engineers.
He has a PhD from Harvard University and a BA in math from Brandeis.
My personal pageCopiar datos entre tus propias tablas en BigQuery se volvió mucho más fácil en los últimos años. Aun así, existen varias formas de hacerlo, cada una con limitaciones distintas que pueden generar confusión. A continuación describo cada una, con sus pros y contras.

Antes, copiar entre regiones de datos era complicado.
PerfectScale™ for Kubernetes
Ready to optimize?
Get your free Kubernetes savings analysis

Copiar a través de Storage
Se podía copiar desde BigQuery a Cloud Storage y, desde ahí, de vuelta a BigQuery en la otra región. Esto no solo suma un paso adicional que complica el proceso, sino que además puede salir caro. Y encima tenías que orquestarlo por tu cuenta, por ejemplo, con Composer para la programación, el buffering y la paralelización.
Copia de datasets
Hace poco, la función Dataset Copying simplificó muchísimo este proceso. Funciona entre regiones y es gratuita, salvo por los costos de red. La programación y otras funciones relacionadas ya vienen integradas.
Your cloud bill shouldn't be a mystery
Optimization, automation, expertise. In one platform.
Copia dentro de una región con `bq` _, la Job API o Copy Tables_
Copiar dentro de una misma región siempre fue más sencillo y, lo mejor de todo, gratis. Dentro de la región, puedes ejecutar bq cp desde la línea de comandos, programar contra la Job API o usar "Copy Tables" en la Cloud Console.
Scheduled Queries
La función Scheduled Queries es otra forma de copiar dentro de una región. Si bien no es gratuita, resulta muy flexible, ya que te permite escribir cualquier sentencia SELECT para insertar los datos en una tabla destino. Y, como su nombre lo indica, trae la programación integrada.
De los métodos que mencioné, solo bq cp y Scheduled Queries cubren un caso de uso muy común: el backup incremental diario de una tabla particionada por tiempo de ingesta. Únicamente estos permiten copiar solo la partición del último día y conservarla como partición en la tabla destino.
Aquí tienes las opciones en formato de tabla: