title: Fastest way to get mysql result into BigQuery
body: <p>I have a mysql table of 104M rows. Using the method of <a href="https://cloud.google.com/bigquery/streaming-data-into-bigquery" rel="nofollow noreferrer">streaming inserts</a>, it takes almost three hours and costs $5. </p>
  
  <p>What would be the fastest way to query or copy a mysql table and get it into BQ? For example, is there a way to stream the mysql database (which is not on GCP) directly into a csv file on GCS and then load the csv file from BQ? We've noticed <a href="https://cloud.google.com/bigquery/loading-data" rel="nofollow noreferrer">loading csv files from GCS into BQ</a> is quite fast. </p>
  
  <p>What would be the suggested way to get the data from an external mysql table (or any external database, really) into BQ in the fastest way possible?</p>
  
  <hr>
  
  <p><strong>Update</strong>: Note that we're not trying to reduce our data size by doing an incremental feed (which we already do). This question is just asking what's the absolute fastest way to get 100M rows of data (let's say 15GB) into BQ from an external database.</p>