<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Bqコマンド on Xainome Blog</title>
    <link>https://xainome-blog.pages.dev/tags/bq%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/</link>
    <description>Recent content in Bqコマンド on Xainome Blog</description>
    <generator>Hugo</generator>
    <language>ja-JP</language>
    <lastBuildDate>Sat, 25 Jan 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://xainome-blog.pages.dev/tags/bq%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>BigQueryのテーブルのカラム説明欄に一括で追記したい！</title>
      <link>https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/</link>
      <pubDate>Sat, 25 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/</guid>
      <description>&lt;h2 id=&#34;bqコマンドを使ってカラム説明を一括入力&#34;&gt;bqコマンドを使ってカラム説明を一括入力&lt;/h2&gt;
&lt;p&gt;業務委託で&lt;a href=&#34;https://xainome-blog.pages.dev/posts/2023/11/learning-gcp-for-freelance-project/&#34;&gt;副業&lt;/a&gt;としてやっていた仕事の内、カラムに説明を追加するというタスクがありました。&lt;/p&gt;
&lt;p&gt;今後非エンジニアの人も使えるようにするため、カラムの意味を把握する必要がありました。そこで説明欄を埋める必要があるという流れです。&lt;/p&gt;
&lt;p&gt;ただ、一つ一つ手作業で埋めるのは手間なのでいい方法がないか探して試したやり方ですね。ということで&lt;a href=&#34;https://cloud.google.com/bigquery/docs/managing-table-schemas?hl=ja&amp;amp;utm_source=chatgpt.com&#34;&gt;bqコマンド&lt;/a&gt;を使用して進めてみます。&lt;/p&gt;
&lt;p&gt;まずは埋めたいテーブルはこんな感じ。カラム名はさておき、説明が埋まってないという状況ですね。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;bqコマンド_カラム説明追加前&#34; loading=&#34;lazy&#34; src=&#34;https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/images/image-14.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;ターミナルでbqコマンド実行&#34;&gt;ターミナルでbqコマンド実行&lt;/h3&gt;
&lt;p&gt;まずはターミナルを開いて一旦テーブルの中を確認してみます。ターミナル自体は簡単に開けます。ここからですね。画像の左から2番目のアイコンから開けます。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;bqコマンド_テーブル&#34; loading=&#34;lazy&#34; src=&#34;https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/images/image-10.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;コマンドは以下ですね。dataset_idとtable_idは任意で変えることになります。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;bq show --format=prettyjson &amp;lt;dataset_id&amp;gt;.&amp;lt;table_id&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;コマンドが実行されると人によっては承認が必要みたいです。承認しましょう。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/images/image-7.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;テーブル確認&#34;&gt;テーブル確認&lt;/h3&gt;
&lt;p&gt;ターミナルに以下のように表示されます。もし説明欄に入力していると文字化けのように見えます。ただ、文字化けではなくエスケープ表示にされてます。書き換えるときも日本語で入力しても問題ないので、今は無視して進めましょう。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;bqコマンド_カラム確認&#34; loading=&#34;lazy&#34; src=&#34;https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/images/image-8.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;特に問題なさそうであればこのスキーマをjsonファイルに書きましょう。コマンドはこんな感じ。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;bq show --format=prettyjson &amp;lt;dataset_id&amp;gt;.&amp;lt;teble_id&amp;gt; &amp;gt; &amp;lt;file_name&amp;gt;.json
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;こうするとローカルのフォルダにjsonファイルが格納されます。コマンドを実行したらファイルを確認しましょう。ターミナルのエディタを開くから確認することができます。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/images/image-11.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;中を開くと初期ファイルと作成したjsonファイルがあります。作成したjsonファイルを開いてみます。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/images/image-12-wpp1737756773809.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;ファイルを開くとターミナルで確認したような文字列があります。後は同じように説明を追加します。エスケープ表示ですが日本語に変更してみました。それからfieldsの中身のみが必要になります。[]の中身だけ取り出しましょう。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;bqコマンド_jsonカラム説明追加前&#34; loading=&#34;lazy&#34; src=&#34;https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/images/image-13.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;bqコマンド_jsonカラム説明追加後&#34; loading=&#34;lazy&#34; src=&#34;https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/images/image-16.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;bqコマンド_カラムの説明欄更新&#34;&gt;bqコマンド_カラムの説明欄更新&lt;/h3&gt;
&lt;p&gt;ではこのjsonファイルを使用してカラムの説明欄を更新してみます。コマンドは以下&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;bq update --source &amp;lt;file_name&amp;gt;.json &amp;lt;dateset_id&amp;gt;.&amp;lt;table_id&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;更新が完了したら&amp;quot;successfully updated.&amp;ldquo;と出るので確認してみましょう。特に問題なければこれで完了になります。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://xainome-blog.pages.dev/posts/2025/01/bulk-update-bigquery-column-descriptions/images/image-17-wpp1737766290568.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;終わりに&#34;&gt;終わりに&lt;/h3&gt;
&lt;p&gt;当初はgcloud alphaというコマンドがあり、そちらを使おうと思ってました。&lt;/p&gt;
&lt;p&gt;ただ、いいやり方が見つからず従来のbqコマンドとファイルの編集を利用したやり方を採用しました。&lt;/p&gt;
&lt;p&gt;最近AIのニュースを見てはいたのですが、全く触ってないので何かやってみたいですね。ではでは。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
