赞
踩
- CREATE TABLE orders (
- id INT , -- 订单ID
- order_status_code VARCHAR(255), -- 订单状态编码
- order_status_name VARCHAR(255), -- 订单状态名称
- match_status_name VARCHAR(255), -- 撮合状态名称
- create_time DATETIME, -- 创建时间
- update_time DATETIME, -- 最近更新时间
- deal_time DATETIME, -- 成交时间
- fulfillment_time DATETIME, -- 履约完成时间
- total_quantity INT, -- 商品总数量
- total_price DECIMAL(10, 2), -- 订单总价
- purchase_unit_id INT, -- 采购单位ID
- supplier_id INT, -- 供应商ID
- creator_id INT, -- 创建人ID
- region_code VARCHAR(255), -- 区划编码
- product_id INT, -- 商品ID
- product_name VARCHAR(255), -- 商品名称
- category_id INT, -- 后台三级类目ID
- brand_id INT, -- 商品品牌ID
- brand_name VARCHAR(255), -- 商品品牌名称
- model_name VARCHAR(255), -- 商品型号名称
- quantity INT, -- 商品数量
- unit_price DECIMAL(10, 2), -- 商品单价
- product_total_price DECIMAL(10, 2), -- 商品总价
- sku_number VARCHAR(255), -- SKU编号
- business_instance_code VARCHAR(255), -- 业务实例编码
- bidding_method_name VARCHAR(255), -- 竞价方式名称
- source_system VARCHAR(255), -- 来源系统
- business_instance_name VARCHAR(255), -- 业务实例名称
- business_type_code VARCHAR(255), -- 业务类型编码
- business_type_name VARCHAR(255), -- 业务类型名称
- business_module VARCHAR(255), -- 业务模块
- trade_module VARCHAR(255), -- 交易模块
- purchaser_id INT, -- 采购人ID
- shipping_fee DECIMAL(10, 2), -- 订单运费(分)
- order_product_id INT, -- 订单商品ID
- purchase_plan_source VARCHAR(255), -- 采购计划来源
- has_accessories BOOLEAN, -- 是否含有配件
- accessory_amount DECIMAL(10, 2), -- 配件金额
- accessory_quantity INT, -- 配件数量
- original_unit_price DECIMAL(10, 2), -- 商品原单价
- third_level_category_name VARCHAR(255), -- 第三级分类名称
- region_name VARCHAR(255), -- 地区名称
- origin_cost DECIMAL(10, 2), -- 原产地费用
- actual_cost DECIMAL(10, 2) -- 实际费用
- );
在MySQL中执行以下指令
- load data local infile '~/data.csv' # 文件路径
-
- into table orders # 表名
-
- character set utf8 # 编码
-
- fields terminated by ',' # 分隔符
-
- lines terminated by '\r\n'
-
- ignore 1 lines; # 忽略第一行,因为表头已建好
效果图
查看导入是否乱码(有乱码看这里)
- CREATE TABLE orders (
- id INT, -- 订单ID
- order_status_code STRING, -- 订单状态编码
- order_status_name STRING, -- 订单状态名称
- match_status_name STRING, -- 撮合状态名称
- create_time TIMESTAMP, -- 创建时间
- update_time TIMESTAMP, -- 最近更新时间
- deal_time TIMESTAMP, -- 成交时间
- fulfillment_time TIMESTAMP, -- 履约完成时间
- total_quantity INT, -- 商品总数量
- total_price DECIMAL(10, 2), -- 订单总价
- purchase_unit_id INT, -- 采购单位ID
- supplier_id INT, -- 供应商ID
- creator_id INT, -- 创建人ID
- region_code STRING, -- 区划编码
- product_id INT, -- 商品ID
- product_name STRING, -- 商品名称
- category_id INT, -- 后台三级类目ID
- brand_id INT, -- 商品品牌ID
- brand_name STRING, -- 商品品牌名称
- model_name STRING, -- 商品型号名称
- quantity INT, -- 商品数量
- unit_price DECIMAL(10, 2), -- 商品单价
- product_total_price DECIMAL(10, 2), -- 商品总价
- sku_number STRING, -- SKU编号
- business_instance_code STRING, -- 业务实例编码
- bidding_method_name STRING, -- 竞价方式名称
- source_system STRING, -- 来源系统
- business_instance_name STRING, -- 业务实例名称
- business_type_code STRING, -- 业务类型编码
- business_type_name STRING, -- 业务类型名称
- business_module STRING, -- 业务模块
- trade_module STRING, -- 交易模块
- purchaser_id INT, -- 采购人ID
- shipping_fee DECIMAL(10, 2), -- 订单运费(分)
- order_product_id INT, -- 订单商品ID
- purchase_plan_source STRING, -- 采购计划来源
- has_accessories BOOLEAN, -- 是否含有配件
- accessory_amount DECIMAL(10, 2), -- 配件金额
- accessory_quantity INT, -- 配件数量
- original_unit_price DECIMAL(10, 2), -- 商品原单价
- third_level_category_name STRING, -- 第三级分类名称
- region_name STRING, -- 地区名称
- origin_cost DECIMAL(10, 2), -- 原产地费用
- actual_cost DECIMAL(10, 2) -- 实际费用
- );
sqoop import --connect jdbc:mysql://192.168.10.102:3306/HadoopTest --username root --password 1111 --table orders --delete-target-dir --num-mappers 1 --hive-import --hive-database db_msg --hive-table orders
解释:将我ip地址为192.168.10.102的机子,mysql中的HadoopTest数据库中orders表导入到Hive的db_msg数据库的orders表
eg:
解决:导入语句中有 --fields-terminated-by ','(去掉这句)
解决:
1.查看MySQL中的表,可能从csv导入到MySQL的过程中已经分开了(我就是)
2.可以将csv中逗号改成下划线
筛选可用数据,拆分时间构建几个新属性
CREATE TABLE orders2 ( id INT, -- 订单ID order_status_name STRING, -- 订单状态名称 match_status_name STRING, -- 撮合状态名称 deal_time TIMESTAMP, -- 成交时间 total_quantity INT, -- 商品总数量 total_price DECIMAL(10, 2), -- 订单总价 brand_name STRING, -- 商品品牌名称 quantity INT, -- 商品数量 unit_price DECIMAL(10, 2), -- 商品单价 bidding_method_name STRING, -- 竞价方式名称 business_instance_name STRING, -- 业务实例名称 third_level_category_name STRING, -- 第三级分类名称 region_name STRING, -- 地区名称 actual_cost DECIMAL(10, 2) -- 实际费用 ,deal_day string ,--时间_天 deal_hour string--时间_小时 );
CREATE TABLE IF NOT EXISTS everyhour_trading COMMENT "每个时间段交易次数" AS SELECT orders2.deal_hour, count(*) as counts from orders2 where deal_hour is not null GROUP BY orders2.deal_hour; -- drop table everyhour_trading;
CREATE TABLE IF NOT EXISTS item_ratio COMMENT "交易物品占比" AS SELECT orders2.third_level_category_name, count(*) as counts from orders2 where third_level_category_name !='' GROUP BY orders2.third_level_category_name ORDER BY counts DESC
CREATE TABLE IF NOT EXISTS ok COMMENT "交易情况比例" AS SELECT orders2.order_status_name, count(*) as counts from orders2 where order_status_name !='' GROUP BY orders2.order_status_name ORDER BY counts DESC limit 5;
CREATE TABLE IF NOT EXISTS total_jiaoyi_success COMMENT "交易成功次数" AS SELECT count(*) as total from orders2 where orders2.order_status_name = "已结算_交易完成";
CREATE TABLE IF NOT EXISTS total_jiaoyi COMMENT "取消交易数" AS SELECT count(*) as total from orders2 where orders2.order_status_name!="已结算_交易完成";
eg:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。