Untitled
Anonymous
sql
02/01/2023 6:12 PM
4.1 KB
18
Indexable
CREATE TABLE aux(idpedido string,
fechapedido string,
fechaenvio string,
modoenvio string,
idcliente string,
cliente string,
segmento string,
ciudad string,
pais string,
idarticulo string,
categoria string,
subcategoria string,
desc_producto string,
ventas string,
cantidad string,
descuento string,
beneficio string,
costoenvio string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ';'
;
LOAD DATA INPATH '/user/hadoop/SuperTiendaCSV_kmeza.csv'
OVERWRITE INTO TABLE kmeza.aux
;
--DROP TABLE supertienda;
CREATE TABLE SuperTienda(idpedido string,
fechapedido date,
fechaenvio date,
modoenvio string,
idcliente string,
cliente string,
segmento string,
ciudad string,
pais string,
idarticulo string,
categoria string,
subcategoria string,
desc_producto string,
ventas float,
cantidad int,
descuento float,
beneficio float,
costoenvio float
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
TBLPROPERTIES ('transactional'='true', 'transactional_properties'='default')
;
INSERT INTO supertienda
SELECT idpedido,
cast(concat_ws('-',split(fechapedido,'-')[2],split(fechapedido,'-')[1],split(fechapedido,'-')[0]) as date) as fechapedido,
cast(concat_ws('-',split(fechaenvio,'-')[2],split(fechaenvio,'-')[1],split(fechaenvio,'-')[0]) as date) as fechaenvio,
modoenvio,
idcliente,
cliente,
segmento,
ciudad,
pais,
idarticulo,
categoria,
subcategoria,
desc_producto,
cast(replace(replace(ventas , ',' , '.') , '$' , '') as float) as ventas,
cast(cantidad as int) as cantidad,
cast(split(descuento, ',')[0]/100 as float) as descuento,
cast(replace(replace(beneficio , ',' , '.') , '$' , '') as float) as beneficio,
cast(replace(replace(costoenvio , ',' , '.') , '$' , '') as float) as costoenvio
FROM aux
where ciudad != 'Ciudad'
;
ALTER TABLE supertienda
ADD COLUMNS (costototal float, iva float, delta_enviopedido int)
;
SELECT ventas-beneficio-costoenvio as CostoTotal,
(ventas*0.19)/1.19 as IVA,
datediff(fechaenvio, fechapedido) as delta_enviopedido
FROM supertienda
;
SELECT *
FROM supertienda
LIMIT 100
;
UPDATE supertienda
SET costototal = ventas-beneficio-costoenvio,
iva = (ventas*0.19)/1.19,
delta_enviopedido = datediff(fechaenvio, fechapedido)
;Editor is loading...