func ExampleTable_LoaderFrom() { ctx := context.Background() client, err := bigquery.NewClient(ctx, "project-id") if err != nil { // TODO: Handle error. } gcsRef := bigquery.NewGCSReference("gs://my-bucket/my-object") gcsRef.AllowJaggedRows = true // TODO: set other options on the GCSReference. ds := client.Dataset("my_dataset") loader := ds.Table("my_table").LoaderFrom(gcsRef) loader.CreateDisposition = bigquery.CreateNever // TODO: set other options on the Loader. job, err := loader.Run(ctx) if err != nil { // TODO: Handle error. } status, err := job.Wait(ctx) if err != nil { // TODO: Handle error. } if status.Err() != nil { // TODO: Handle error. } }
func ExampleTable_ExtractorTo() { ctx := context.Background() client, err := bigquery.NewClient(ctx, "project-id") if err != nil { // TODO: Handle error. } gcsRef := bigquery.NewGCSReference("gs://my-bucket/my-object") gcsRef.FieldDelimiter = ":" // TODO: set other options on the GCSReference. ds := client.Dataset("my_dataset") extractor := ds.Table("my_table").ExtractorTo(gcsRef) extractor.DisableHeader = true // TODO: set other options on the Extractor. job, err := extractor.Run(ctx) if err != nil { // TODO: Handle error. } status, err := job.Wait(ctx) if err != nil { // TODO: Handle error. } if status.Err() != nil { // TODO: Handle error. } }
func importFromGCS(client *bigquery.Client, datasetID, tableID, gcsURI string) error { ctx := context.Background() // [START bigquery_import_from_gcs] // For example, "gs://data-bucket/path/to/data.csv" gcsRef := bigquery.NewGCSReference(gcsURI) gcsRef.AllowJaggedRows = true // TODO: set other options on the GCSReference. loader := client.Dataset(datasetID).Table(tableID).LoaderFrom(gcsRef) loader.CreateDisposition = bigquery.CreateNever // TODO: set other options on the Loader. job, err := loader.Run(ctx) if err != nil { return err } status, err := job.Wait(ctx) if err != nil { return err } if err := status.Err(); err != nil { return err } // [END bigquery_import_from_gcs] return nil }
func main() { flag.Parse() flagsOk := true for _, f := range []string{"project", "dataset", "table", "bucket", "object"} { if flag.Lookup(f).Value.String() == "" { fmt.Fprintf(os.Stderr, "Flag --%s is required\n", f) flagsOk = false } } if !flagsOk { os.Exit(1) } ctx := context.Background() client, err := bigquery.NewClient(ctx, *project) if err != nil { log.Fatalf("Creating bigquery client: %v", err) } table := client.Dataset(*dataset).Table(*table) gcs := bigquery.NewGCSReference(fmt.Sprintf("gs://%s/%s", *bucket, *object)) gcs.SkipLeadingRows = *skiprows gcs.MaxBadRecords = 1 gcs.AllowQuotedNewlines = true // Load data from Google Cloud Storage into a BigQuery table. loader := table.LoaderFrom(gcs) loader.WriteDisposition = bigquery.WriteTruncate job, err := loader.Run(ctx) if err != nil { log.Fatalf("Loading data: %v", err) } fmt.Printf("Job for data load operation: %+v\n", job) fmt.Printf("Waiting for job to complete.\n") for range time.Tick(*pollint) { status, err := job.Status(ctx) if err != nil { fmt.Printf("Failure determining status: %v", err) break } if !status.Done() { continue } if err := status.Err(); err == nil { fmt.Printf("Success\n") } else { fmt.Printf("Failure: %+v\n", err) } break } }
func exportToGCS(client *bigquery.Client, datasetID, tableID, gcsURI string) error { ctx := context.Background() // [START bigquery_export_gcs] // For example, "gs://data-bucket/path/to/data.csv" gcsRef := bigquery.NewGCSReference(gcsURI) gcsRef.FieldDelimiter = "," extractor := client.Dataset(datasetID).Table(tableID).ExtractorTo(gcsRef) extractor.DisableHeader = true job, err := extractor.Run(ctx) if err != nil { return err } status, err := job.Wait(ctx) if err != nil { return err } if err := status.Err(); err != nil { return err } // [END bigquery_export_gcs] return nil }
func ExampleNewGCSReference() { gcsRef := bigquery.NewGCSReference("gs://my-bucket/my-object") fmt.Println(gcsRef) }