Skip to content

Commit 37f99ec

Browse files
Merge pull request #10 from jovanpop-msft/master
Adding LDW sample
2 parents 63abc8f + 1c67a49 commit 37f99ec

File tree

1 file changed

+133
-0
lines changed

1 file changed

+133
-0
lines changed

SQL/Samples/LdwSample/SampleDB.sql

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
2+
DROP VIEW IF EXISTS parquet.NYCTaxi
3+
GO
4+
DROP VIEW IF EXISTS json.Books
5+
GO
6+
DROP VIEW IF EXISTS csv.NYCTaxi
7+
GO
8+
IF (EXISTS(SELECT * FROM sys.external_tables WHERE name = 'Population')) BEGIN
9+
DROP EXTERNAL TABLE csv.Population
10+
END
11+
IF (EXISTS(SELECT * FROM sys.external_file_formats WHERE name = 'QuotedCsvWithHeader')) BEGIN
12+
DROP EXTERNAL FILE FORMAT QuotedCsvWithHeader
13+
END
14+
GO
15+
DROP SCHEMA IF EXISTS parquet;
16+
GO
17+
DROP SCHEMA IF EXISTS csv;
18+
GO
19+
DROP SCHEMA IF EXISTS json;
20+
GO
21+
22+
IF (EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlOnDemandDemo')) BEGIN
23+
DROP EXTERNAL DATA SOURCE SqlOnDemandDemo
24+
END
25+
26+
27+
IF (EXISTS(SELECT * FROM sys.external_data_sources WHERE name = 'SqlOnDemandDemo')) BEGIN
28+
DROP EXTERNAL DATA SOURCE SqlOnDemandDemo
29+
END
30+
31+
32+
IF EXISTS
33+
(SELECT * FROM sys.credentials
34+
WHERE name = 'https://sqlondemandstorage.blob.core.windows.net')
35+
DROP CREDENTIAL [https://sqlondemandstorage.blob.core.windows.net]
36+
GO
37+
38+
39+
-- create credentials for the containers in demo storage account
40+
CREATE CREDENTIAL [https://sqlondemandstorage.blob.core.windows.net]
41+
WITH IDENTITY='SHARED ACCESS SIGNATURE',
42+
SECRET = 'sv=2018-03-28&ss=bf&srt=sco&sp=rl&st=2019-10-14T12%3A10%3A25Z&se=2061-12-31T12%3A10%3A00Z&sig=KlSU2ullCscyTS0An0nozEpo4tO5JAgGBvw%2FJX2lguw%3D'
43+
GO
44+
45+
CREATE SCHEMA parquet;
46+
GO
47+
CREATE SCHEMA csv;
48+
GO
49+
CREATE SCHEMA json;
50+
GO
51+
52+
-- create sample external table
53+
CREATE EXTERNAL DATA SOURCE SqlOnDemandDemo WITH (
54+
LOCATION = 'https://sqlondemandstorage.blob.core.windows.net'
55+
);
56+
GO
57+
58+
CREATE EXTERNAL FILE FORMAT QuotedCsvWithHeader
59+
WITH (
60+
FORMAT_TYPE = DELIMITEDTEXT,
61+
FORMAT_OPTIONS (
62+
FIELD_TERMINATOR = ',',
63+
STRING_DELIMITER = '"',
64+
FIRST_ROW = 2
65+
)
66+
);
67+
GO
68+
69+
CREATE EXTERNAL TABLE csv.population
70+
(
71+
[country_code] VARCHAR (5) COLLATE Latin1_General_BIN2,
72+
[country_name] VARCHAR (100) COLLATE Latin1_General_BIN2,
73+
[year] smallint,
74+
[population] bigint
75+
)
76+
WITH (
77+
LOCATION = 'csv/population/population.csv',
78+
DATA_SOURCE = SqlOnDemandDemo,
79+
FILE_FORMAT = QuotedCsvWithHeader
80+
);
81+
GO
82+
83+
CREATE VIEW parquet.NYCTaxi
84+
AS SELECT *, nyc.filepath(1) AS [year], nyc.filepath(2) AS [month]
85+
FROM
86+
OPENROWSET(
87+
BULK 'https://sqlondemandstorage.blob.core.windows.net/parquet/taxi/year=*/month=*/*.parquet',
88+
FORMAT='PARQUET'
89+
) AS nyc
90+
GO
91+
92+
CREATE VIEW csv.NYCTaxi
93+
AS
94+
SELECT *, nyc.filepath(1) AS [year], nyc.filepath(2) AS [month]
95+
FROM OPENROWSET(
96+
BULK 'https://sqlondemandstorage.blob.core.windows.net/csv/taxi/yellow_tripdata_*-*.csv',
97+
FORMAT = 'CSV',
98+
FIRSTROW = 2
99+
)
100+
WITH (
101+
vendor_id VARCHAR(100) COLLATE Latin1_General_BIN2,
102+
pickup_datetime DATETIME2,
103+
dropoff_datetime DATETIME2,
104+
passenger_count INT,
105+
trip_distance FLOAT,
106+
rate_code INT,
107+
store_and_fwd_flag VARCHAR(100) COLLATE Latin1_General_BIN2,
108+
pickup_location_id INT,
109+
dropoff_location_id INT,
110+
payment_type INT,
111+
fare_amount FLOAT,
112+
extra FLOAT,
113+
mta_tax FLOAT,
114+
tip_amount FLOAT,
115+
tolls_amount FLOAT,
116+
improvement_surcharge FLOAT,
117+
total_amount FLOAT
118+
) AS nyc
119+
GO
120+
121+
CREATE VIEW json.Books
122+
AS SELECT *
123+
FROM
124+
OPENROWSET(
125+
BULK 'https://sqlondemandstorage.blob.core.windows.net/json/books/*.json',
126+
FORMAT='CSV',
127+
FIELDTERMINATOR ='0x0b',
128+
FIELDQUOTE = '0x0b',
129+
ROWTERMINATOR = '0x0b'
130+
)
131+
WITH (
132+
content varchar(8000)
133+
) AS books;

0 commit comments

Comments
 (0)