欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

mediarecorder添加时间戳_Python脚本实现数据处理(官方实例)和Hive自带时间函数...

发布时间:2024/7/19 python 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 mediarecorder添加时间戳_Python脚本实现数据处理(官方实例)和Hive自带时间函数... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

官网示例

官网地址:

https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-ApacheWeblogData

下载数据

wget http://files.grouplens.org/datasets/movielens/ml-100k.zip

我们下载好数据

安装unzip

yum install -y unzip

解压数据

创建库

创建表

CREATE TABLE u_data (

userid INT,

movieid INT,

rating INT,

unixtime STRING)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY 't'

STORED AS TEXTFILE;

加载数据

LOAD DATA LOCAL INPATH '/data/ml-100k/u.data' OVERWRITE INTO TABLE u_data;

查看下数据

select * from u_data limit 10;

编写python脚本,创建文件weekday_mapper.py,编写下面代码

import sys

import datetime

for line in sys.stdin:

line = line.strip()

userid, movieid, rating, unixtime = line.split('t')

weekday = datetime.datetime.fromtimestamp(float(unixtime)).isoweekday()

print 't'.join([userid, movieid, rating, str(weekday)])

创建结果表

CREATE TABLE u_data_new (

userid INT,

movieid INT,

rating INT,

weekday INT)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY 't';

添加文件

add FILE /data/weekday_mapper.py;

插入数据

INSERT OVERWRITE TABLE u_data_new

SELECT

TRANSFORM (userid, movieid, rating, unixtime)

USING 'python weekday_mapper.py'

AS (userid, movieid, rating, weekday)

FROM u_data;

查询结果

SELECT weekday, COUNT(*)

FROM u_data_new

GROUP BY weekday;

就可以看到结果了,周一评论量12254,后面依次类推得到信息

再看下常见的时间格式

Hive的自带的时间函数,利用show functions;

查看下面两个函数:

unix_timestamp(转换为时间戳)unix_timestamp,以格林威治时间为基准

from_unixtime (转换为标准时间格式)

这些时间准确表达可以分析网站后台日志数据,统计用户停留时间等。比如查看两条时间的时间差,先转换为统一unix时间戳,再相减就能得到

测试

select unix_timestamp("2015-08-31 00:04:37");

如果使用下面

select unix_timestamp("20150831000437");

select unix_timestamp("20150831 000437");

运行之后null,无法识别格式

指定格式进行转换,

select unix_timestamp("20150831000437","yyyyMMddHHmmss");

select unix_timestamp("20150831000437","yyyyMMdd HHmmss");这样也不可以

将Unix时间戳转换为标准时间格式

select from_unixtime(1440950677);

这次就可以

select from_unixtime(1440950677,"yyyyMMdd HHmmss");

总结

以上是生活随笔为你收集整理的mediarecorder添加时间戳_Python脚本实现数据处理(官方实例)和Hive自带时间函数...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。