見出し画像

【第17話】 Databricks_FROMキーワードのプレフィックスをデータ型とする

Databricks Certified Data Engineer Associate試験合格を目指す皆さん、こんにちは!今回は、FROMキーワードの後に含まれるプレフィックスをデータ型として特定する方法についてキャラクターの会話形式でお話しします。

のびデータ: 「シズちゃん, ジョブアン、最近DatabricksのFROMキーワードの後に含まれるプレフィックスのことで悩んでるんだ」

ジョブアン: 「おう、FROMキーワードの後にあるプレフィックスか。FROMのあとには通常テーブル名がくるだろう。だが、時にはプレフィックスがテーブル名に先立って指定されることがあるぜ」

シズクエリ: 「ええ、FROMの後ろにプレフィックスを指定すると、そのプレフィックスを持つすべてのテーブルがスコープに入るの。 prefix.table_name のように指定するのよ」

のびデータ: 「ふむふむ、ではそのプレフィックスというのは何を表しているんだい?」

ジョブアン: 「簡単だ。プレフィックスはテーブルのデータ型を表しているんだ。例えば csv. というプレフィックスは、FROM節から参照されるテーブルがCSV形式であることを示している。parquet. はParquet形式、json. はJSON形式、jdbc.はJDBC経由でアクセスされる外部テーブルを意味しているぜ」

のびデータ: 「なるほど!データ型を指定することで、効率的に対象テーブルを絞り込めるわけだ。いろんな形式のテーブルがある場合に便利だね」

シズクエリ: 「そうそう。形式を指定することで、テーブルスキャンの効率が上がるの。でも、プレフィックスにはデータ型だけでなく、他の情報も含まれていることがあるのよ」

のびデータ: 「ほかの情報?何だろう?」

シズクエリ: 「たとえば、dbfs. というプレフィックスは、DBFSファイルシステム上のテーブルを指すの。それから、delta. はDelta Lakeテーブルのこと。プレフィックスには、データの格納場所や形式といった情報が含まれているの」

のびデータ: 「なるほど、そういうことか!プレフィックスを使えば、効率的に対象テーブルを指定できるし、そのテーブルの性質もある程度わかるんだね」

ジョブアン: 「おう、要はプレフィックスを見れば、FROMで参照するテーブルのデータ型や属性が大まかにわかる。指定したプレフィックスに合致するテーブルを対象として効率的にクエリを実行できるのだ。いいか、のびデータ!」

のびデータ: 「わかったよ、ジョブアン!DatabricksのFROMでプレフィックスを指定する意味がいろいろとわかったよ。試験で出るかもしれないのでしっかり覚えておこう。ありがとう、シズちゃん、ジョブアン!」

シズクエリ: 「良かったわね、のびデータさん」

ジョブアン: 「DATASET APIの使い方もひととおり理解したか?試験では基本的な内容が問われることが多いぜ」

のびデータ: 「うん、DATASET APIの基本的な使い方は理解できたと思うよ。みんなで学べて楽しかった!」

シズクエリ: 「がんばって試験受かるのびデータ! 私たちも応援するわ!」

<補足>

DatabricksのSQL文では、FROM句の後にテーブル名の前にプレフィックスを指定することができます。

このプレフィックスは、FROMで参照するテーブルのデータ型や属性を示すのに使用されます。

代表的なプレフィックスと意味は以下の通りです。

  • csv.: CSV形式のテーブル

  • parquet.: Parquet形式のテーブル

  • json.: JSON形式のテーブル

  • jdbc.: JDBC経由でアクセスされる外部テーブル

  • dbfs.: DBFS上のテーブル

  • delta.: Delta Lakeテーブル

プレフィックスを指定することで、効率的に対象テーブルを絞り込むことができます。

また、テーブルのデータ型や属性もある程度推測可能です。

FROM句でのプレフィックスの使い方を理解しておくことは、DatabricksのSQLを扱う上で重要です。

DatabricksのSQLでは、FROMキーワードの後にテーブル名やビュー名などの識別子を指定しますが、識別子にはいくつかの種類があります。それでは、FROMキーワードの後に含まれるプレフィックスをデータ型として特定する方法について見ていきましょう。

プレフィックスとは何か?
プレフィックスは、単語の前に付けられる接頭辞のことを指します。例えば、"pre-"は「前に」という意味であり、"re-"は「再び」という意味です。同様に、識別子のプレフィックスは、その識別子の前に付けられる文字列のことを指します。

データ型とは何か?
データ型は、データの性質や種類を表すために使用される識別子のことです。例えば、整数型、文字列型、日付型などがあります。

FROMキーワードの後に含まれるプレフィックスをデータ型として特定する方法
DatabricksのSQLでは、識別子には正規の識別子とデリミタ識別子の2種類があります。正規の識別子はバッククォート(`)で囲まれていないものであり、デリミタ識別子はバッククォートで囲まれているものです。
正規の識別子の場合、FROMキーワードの後に含まれるプレフィックスは、識別子の最初の文字から始まり、最初のアンダースコア(_)またはドット(.)が現れるまでの文字列です。例えば、"table1"という識別子の場合、プレフィックスは"table"です。

デリミタ識別子の場合、バッククォートで囲まれた部分が識別子全体となります。したがって、プレフィックスはバッククォートで囲まれた部分全体となります。例えば、"table1"という識別子の場合、プレフィックスは"table1"です。

以上、理解促進・試験合格の助けになれば幸いです!

いいなと思ったら応援しよう!