Basic SQL

  1. แสดงรายชื่อดาต้าเบส และตาราง
  2. ใช้ SQL อ่านไฟล์
  3. อ่านข้อมูลในไฟล์ CSV มาใส่ใน Delta Table
  4. อ่านข้อมูลในไฟล์ CSV มาสร้าง Temp View
  5. สร้าง external table โดยชี้ไปที่ไฟล์ CSV
  6. คำสั่ง CREATE VIEW
  7. คำสั่ง CREATE TABLE

แสดงรายชื่อดาต้าเบส และตาราง

แสดงรายชื่อดาต้าเบส

%sql
SHOW DATABASES;

แสดงรายชื่อตารางในดาต้าเบส

%sql
USE default;
SHOW TABLES;

ใช้ SQL อ่านไฟล์

%sql
SELECT * FROM delta.`${DA.paths.datasets}/nyctaxi-with-zipcodes/data`
SELECT * FROM text.`dbfs:/databricks-datasets/Rdatasets/data-001/datasets.csv`
SELECT * FROM csv.`dbfs:/databricks-datasets/Rdatasets/data-001/datasets.csv`

ใช้ SQL อ่านไฟล์แบบ text

ใช้ backtick ` ครอบ

%sql
SELECT * FROM text.`dbfs:/databricks-datasets/Rdatasets/data-001/datasets.csv`

ใช้ SQL อ่านไฟล์แบบ CSV

%sql
SELECT * FROM csv.`dbfs:/databricks-datasets/Rdatasets/data-001/datasets.csv`

อ่านข้อมูลในไฟล์ CSV มาใส่ใน Delta Table

สร้างตารางชื่อ table1 โดยดูชื่อคอลัมน์จากคิวรีด้านบน

%sql
/*Table creation with schema*/
CREATE OR REPLACE TABLE table1 (
  Package string,
  Item string,
  Title string,
  csv string,
  doc string
);

SHOW TABLE อีกทีจะเห็นตาราง table1

ลอง SHOW CREATE TABLE

%sql
SHOW CREATE TABLE table1;

copy ข้อมูลจากไฟล์ csv ลงตาราง

%sql
/*Copying dbfs csv data into table*/
COPY INTO table1
  FROM "dbfs:/databricks-datasets/Rdatasets/data-001/datasets.csv"
  FILEFORMAT = csv
  FORMAT_OPTIONS('header'='true','inferSchema'='True');

คิวรีดูข้อมูล

%sql
SELECT * FROM table1

อ่านข้อมูลในไฟล์ CSV มาสร้าง Temp View

%sql
CREATE TEMPORARY VIEW view1 USING CSV OPTIONS (
  path "/databricks-datasets/Rdatasets/data-001/datasets.csv",
  header "true"
)
%sql
CREATE TEMPORARY VIEW diamonds USING CSV OPTIONS (
  path "/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv",
  header "true"
)

ลอง SHOW TABLES จะเห็นว่าเป็น Temporary

สร้าง external table โดยชี้ไปที่ไฟล์ CSV

%sql
CREATE TABLE table2 USING CSV 
OPTIONS ('header' = 'true')
LOCATION '/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv'

พาทไฟล์สามารถ กำหนดที่ LOCATION หรือใน OPTIONS (path) ก็ได้

%sql
DROP TABLE IF EXISTS diamonds;

CREATE TABLE diamonds USING CSV OPTIONS (
  path "/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv",
  header "true"
)

ใน OPTIONS เครื่องหมาย = จะมีหรือไม่มีก็ได้

%sql
DROP TABLE IF EXISTS diamonds;

CREATE TABLE diamonds USING CSV OPTIONS (
  path = "/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv",
  header = "true"
)

คำสั่ง CREATE VIEW

CREATE OR REPLACE TEMP VIEW demo_tmp_vw(name, value) AS VALUES
  ("Yi", 1),
  ("Ali", 2),
  ("Selina", 3);

CREATE TEMPORARY VIEW diamonds USING CSV OPTIONS (
  path "/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv",
  header "true"
);

คำสั่ง CREATE TABLE

CREATE OR REPLACE TABLE table1 (
  Package string,
  Item string,
  Title string,
  csv string,
  doc string
);

CREATE TABLE diamonds USING CSV OPTIONS (
  path = "/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv",
  header = "true"
);

CREATE TABLE diamonds USING CSV 
OPTIONS ('header' = 'true')
LOCATION '/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv';