使用CAST函数转换数据类型(可以起别名)
SELECT
rating,
CAST(timeRecorded as timestamp)
FROM
movieRatings;
支持的数据类型有:
BIGINT、BINARY、BOOLEAN、DATE 、DECIMAL(p,s)、 DOUBLE、 FLOAT、 INT、 INTERVAL intervalQualifier、 VOID、 SMALLINT、 STRING、 TIMESTAMP、 TIMESTAMP_NTZ、 ARRAY、 MAP < keyType,valueType >、 STRUCT < [fieldName : fieldType [NOT NULL][COMMENT str][, …]] >
SUM、AVG、SPLIT
SELECT sum(quantity) as totalQuantity,countryName
FROM sales
SELECT * FROM DCDataRaw
ORDER BY RAND()
LIMIT 3;
SELECT * FROM outdoorProductsRaw TABLESAMPLE (5 ROWS)
SELECT * FROM outdoorProductsRaw TABLESAMPLE (2 PERCENT) ORDER BY InvoiceDate
-- Description字段为null的填充为“Misc”
SELECT
COALESCE(Description, "Misc") AS Description,
SPLIT(InvoiceDate, "/")[0] month,
SPLIT(InvoiceDate, "/")[1] day
FROM
outdoorProductsRaw
复杂的数据类型可以通过explore来拆分多行。访问深层的数据可以直接点 “.” 或[key]来查询。
-- source是key value键值对map数据
select source from DCDataRaw;
-- EXPLODE 与数组和映射表达式的元素一起使用。
当与数组一起使用时,它将元素分成多行。
与映射一起使用(如本例所示),它将映射的元素拆分为多行和多列,
并使用默认名称、键和值来命名新列。
该数据结构被映射为每个键(某个设备的名称)保存一个对象(值),其中包含有关该设备的信息。
SELECT EXPLODE (source)
FROM DCDataRaw;
通过点“.”来查询深层数据
SELECT
key,
value.description,
value.ip,
value.temps,
value.co2_level
FROM
ExplodeSource;
通过[key]查询
SELECT
dc_id,
to_date(date) AS date,
source['sensor-igauge']
FROM
DCDataRaw
-- 字符串转日期格式
SELECT
to_date(sDate, "MM/dd/yy") date
FROM
standardDate
-- 日期转字符串格式
SELECT
date_format(date, "E") day
FROM
salesDateFormatted
select dayofweek(eventDate) as dayWeek from purchaseEvents