Class: Google::Cloud::Bigquery::Job::ScriptStatistics

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/bigquery/job.rb

Overview

Represents statistics for a child job of a script.

Examples:

require "google/cloud/bigquery"

bigquery = Google::Cloud::Bigquery.new

multi_statement_sql = <<~SQL
  -- Declare a variable to hold names as an array.
  DECLARE top_names ARRAY<STRING>;
  -- Build an array of the top 100 names from the year 2017.
  SET top_names = (
  SELECT ARRAY_AGG(name ORDER BY number DESC LIMIT 100)
  FROM `bigquery-public-data.usa_names.usa_1910_current`
  WHERE year = 2017
  );
  -- Which names appear as words in Shakespeare's plays?
  SELECT
  name AS shakespeare_name
  FROM UNNEST(top_names) AS name
  WHERE name IN (
  SELECT word
  FROM `bigquery-public-data.samples.shakespeare`
  );
SQL

job = bigquery.query_job multi_statement_sql

job.wait_until_done!

child_jobs = bigquery.jobs parent_job: job

child_jobs.each do |child_job|
  script_statistics = child_job.script_statistics
  puts script_statistics.evaluation_kind
  script_statistics.stack_frames.each do |stack_frame|
    puts stack_frame.text
  end
end

Attributes collapse

Instance Attribute Details

#evaluation_kindString (readonly)

Indicates the type of child job. Possible values include STATEMENT and EXPRESSION.

Returns:

  • (String)

    the current value of evaluation_kind



539
540
541
# File 'lib/google/cloud/bigquery/job.rb', line 539

def evaluation_kind
  @evaluation_kind
end

#stack_framesArray<Google::Cloud::Bigquery::Job::ScriptStackFrame> (readonly)

Stack trace where the current evaluation happened. Shows line/column/procedure name of each frame on the stack at the point where the current evaluation happened. The leaf frame is first, the primary script is last.

Returns:



539
540
541
# File 'lib/google/cloud/bigquery/job.rb', line 539

def stack_frames
  @stack_frames
end