//Copyright 2020 Jacky Zong. All rights reserved
CREATE EXTERNAL DATA SOURCE AzureStorage
WITH
(
TYPE = Hadoop
, LOCATION = 'wasbs://[email protected]/'
);
GO
CREATE EXTERNAL FILE FORMAT TextFileFormat
WITH
( FORMAT_TYPE = DELIMITEDTEXT
, FORMAT_OPTIONS ( FIELD_TERMINATOR = '|'
, STRING_DELIMITER = ''
, DATE_FORMAT = 'yyyy-MM-dd HH:mm:ss.fff'
, USE_TYPE_DEFAULT = FALSE
)
);
GO
-- To create a place to store the Contoso data in your database, create a schema.
CREATE SCHEMA [asb];
GO
-- Now let's create the external tables. All we are doing here is defining column names and data types,
-- and binding them to the location and format of the Azure blob storage files. The location is the folder
-- under the root directory of the Azure Storage Blob.
--DimAccount
CREATE EXTERNAL TABLE [asb].DimAccount
(
[AccountKey] [int] NOT NULL,
[ParentAccountKey] [int] NULL,
[AccountLabel] [nvarchar](100) NULL,
[AccountName] [nvarchar](50) NULL,
[AccountDescription] [nvarchar](50) NULL,
[AccountType] [nvarchar](50) NULL,
[Operator] [nvarchar](50) NULL,
[CustomMembers] [nvarchar](300) NULL,
[ValueType] [nvarchar](50) NULL,
[CustomMemberOptions] [nvarchar](200) NULL,
[ETLLoadID] [int] NULL,
[LoadDate] [datetime] NULL,
[UpdateDate] [datetime] NULL
)
WITH
(
LOCATION='/DimAccount/'
, DATA_SOURCE = AzureStorage_west_public
, FILE_FORMAT = TextFileFormat
, REJECT_TYPE = VALUE
, REJECT_VALUE = 0
)
;
--DimChannel
CREATE EXTERNAL TABLE [asb].DimChannel
(
[ChannelKey] [int] NOT NULL,
[ChannelLabel] [nvarchar](100) NOT NULL,
[ChannelName] [nvarchar](20) NULL,
[ChannelDescription] [nvarchar](50) NULL,
[ETLLoadID] [int] NULL,
[LoadDate] [datetime] NULL,
[UpdateDate] [datetime] NULL
)
WITH
(
LOCATION='/DimChannel/'
, DATA_SOURCE = AzureStorage_west_public
, FILE_FORMAT = TextFileFormat
, REJECT_TYPE = VALUE
, REJECT_VALUE = 0
)
;
--DimCurrency
CREATE EXTERNAL TABLE [asb].DimCurrency
(
[CurrencyKey] [int] NOT NULL,
[CurrencyLabel] [nvarchar](10) NOT NULL,
[CurrencyName] [nvarchar](20) NOT NULL,
[CurrencyDescription] [nvarchar](50) NOT NULL,
[ETLLoadID] [int] NULL,
[LoadDate] [datetime] NULL,
[UpdateDate] [datetime] NULL
)
WITH
(
LOCATION='/DimCurrency/'
, DATA_SOURCE = AzureStorage_west_public
, FILE_FORMAT = TextFileFormat
, REJECT_TYPE = VALUE
, REJECT_VALUE = 0
)
;
--DimCustomer
CREATE EXTERNAL TABLE [asb].DimCustomer
(
[CustomerKey] [int] NOT NULL,
[GeographyKey] [int] NOT NULL,
[CustomerLabel] [nvarchar](100) NOT NULL,
[Title] [nvarchar](8) NULL,
[FirstName] [nvarchar](50) NULL,
[MiddleName] [nvarchar](50) NULL,
[LastName] [nvarchar](50) NULL,
[NameStyle] [bit] NULL,
[BirthDate] [datetime] NULL,
[MaritalStatus] [nchar](1) NULL,
[Suffix] [nvarchar](10) NULL,
[Gender] [nvarchar](1) NULL,
[EmailAddress] [nvarchar](50) NULL,
[YearlyIncome] [money] NULL,
[TotalChildren] [tinyint] NULL,
[NumberChildrenAtHome] [tinyint] NULL,
[Education] [nvarchar](40) NULL,
[Occupation] [nvarchar](100) NULL,
[HouseOwnerFlag] [nchar](1) NULL,
[NumberCarsOwned] [tinyint] NULL,
[AddressLine1] [nvarchar](120) NULL,
[AddressLine2] [nvarchar](120) NULL,
[Phone] [nvarchar](20) NULL,
[DateFirstPurchase] [datetime] NULL,
[CustomerType] [nvarchar](15) NULL,
[CompanyName] [nvarchar](100) NULL,
[ETLLoadID] [int] NULL,
[LoadDate] [datetime] NULL,
[UpdateDate] [datetime] NULL
)
WITH
(
LOCATION='/DimCustomer/'
, DATA_SOURCE = AzureStorage_west_public
, FILE_FORMAT = TextFileFormat
, REJECT_TYPE = VALUE
, REJECT_VALUE = 0
)
;
--DimDate
CREATE EXTERNAL TABLE [asb].DimDate
(
[Datekey] [datetime] NOT NULL,
[FullDateLabel] [nvarchar](20) NOT NULL,
[DateDescription] [nvarchar](20) NOT NULL,
[CalendarYear] [int] NOT NULL,
[CalendarYearLabel] [nvarchar](20) NOT NULL,
[CalendarHalfYear] [int] NOT NULL,
[CalendarHalfYearLabel] [nvarchar](20) NOT NULL,
[CalendarQuarter] [int] NOT NULL,
[CalendarQuarterLabel] [nvarchar](20) NULL,
[CalendarMonth] [int] NOT NULL,
[CalendarMonthLabel] [nvarchar](20) NOT NULL,
[CalendarWeek] [int] NOT NULL,
[CalendarWeekLabel] [nvarchar](20) NOT NULL,
[CalendarDayOfWeek] [int] NOT NULL,
[CalendarDayOfWeekLabel] [nvarchar](10) NOT NULL,
[FiscalYear] [int] NOT NULL,
[FiscalYearLabel] [nvarchar](20) NOT NULL,
[FiscalHalfYear] [int] NOT NULL,
[FiscalHalfYearLabel] [nvarchar](20) NOT NULL,
[FiscalQuarter] [int] NOT NULL,
[FiscalQuarterLabel] [nvarchar](20) NOT NULL,
[FiscalMonth] [int] NOT NULL,
[FiscalMonthLabel] [nvarchar](20) NOT NULL,
[IsWorkDay] [nvarchar](20) NOT NULL,
[IsHoliday] [int] NOT NULL,
[HolidayName] [nvarchar](20) NOT NULL,
[EuropeSeason] [nvarchar](50) NULL,
[NorthAmericaSeason] [nvarchar](50) NULL,
[AsiaSeason] [nvarchar](50) NULL
)
WITH
(
LOCATION='/DimDate/'
, DATA_SOURCE = AzureStorage_west_public
, FILE_FORMAT = TextFileFormat
, REJECT_TYPE = VALUE
, REJECT_VALUE = 0
)
;