1.

原始表

CREATE TABLE ml_100k (userid INT,   movieid INT,  rating INT,  unixtime STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;

数据清洗后的表

CREATE TABLE ml_100k2 (userid INT,   movieid INT,  rating INT,  weekday int)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;

3.数据导入

LOAD DATA LOCAL INPATH '/home/centos/ml-100k/u.data' into table ml_100k;

4.脚本编写和脚本加载

clean_ml_100k.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() #转化unixtime时间戳为日期时间,获取对应的星期值
print('\t'.join([userid, movieid, rating, str(weekday)])) # 输出清洗后的数据

然后 hdfs dfs -put

add file /home/centos/clean_ml_100k.py;

5.数据清洗+转储

INSERT OVERWRITE TABLE ml_100k2
SELECT
TRANSFORM (userid, movieid, rating, unixtime) --输入值(基表)
USING 'python clean_ml_100k.py' --使用脚本清洗
AS (userid, movieid, rating, weekday) --输出值(子表)
FROM ml_100k;

然后我就失败了

使用python脚本进行数据清洗(1)的更多相关文章

  1. freeswitch嵌入python脚本

    操作系统:debian8.5_x64 freeswitch 版本 : 1.6.8 python版本:2.7.9 开启python模块 安装python lib库 apt-get install pyt ...

  2. python脚本后台运行

    问题描述: 环境: CentOS6.4 一个用python写的监控脚本test1.py,用while True方式一直运行,在ssh远程(使用putty终端)时通过以下命令启动脚本: python t ...

  3. 某互联网后台自动化组合测试框架RF+Sikuli+Python脚本

    某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**Robo ...

  4. 动态执行python脚本

    前言 存在许多独立的python脚本,这些脚本可能会增加,也可能会减少,现在需要按照某种顺序调度这些程序.在python的standard library中,有一个模块imp可以实现动态的调用ptho ...

  5. 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本

    摘自:http://blog.csdn.net/forandever/article/details/5711319 一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ...

  6. SecureCRT中python脚本编写

    SecureCRT中python脚本编写学习指南 SecureCRT python 引言 在测试网络设备中,通常使用脚本对设备端进行配置和测试以及维护:对于PE设备的测试维护人员来说使用较多是Secu ...

  7. Python脚本配合Linux计划任务工作

    经常遇到直接运行Python脚本没有问题,但是一放入/etc/crontab之后就歇菜的情况,总结了一下,大致需要注意以下几点: 1. 脚本首行加入#!/usr/bin/env python 2. 脚 ...

  8. Labview调用Python脚本

    Labview程序框图如下: Python脚本如下: #!/usr/bin/env pythonimport sys #Command Line Arguements are stored in li ...

  9. 使用Runtime.getRuntime().exec()在java中调用python脚本

    举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本.假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用ja ...

随机推荐

  1. Oracle - WITH AS -用于查询当月与上月数据

    注:在之前工作的时候,数据需要根据时间查询出当月值和上月的值. 语法: WITH A AS( SELECT * FROM TABLE ), B AS (SELECT * FROM TABLE)SELE ...

  2. oracle数据库基于(streams流复制)的双机热备配置手册

    ------------------------------------------------------------------------------- 主数据库: 操作系统:windows 2 ...

  3. 终于有人把“TCC分布式事务”实现原理讲明白了

    所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务. 首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同 ...

  4. AMD平台如何使用Android Studio官方的高性能模拟器

    当我第一次接触Android Studio的时候,脑子里第一个想法是:tm不就是IDEA么??以为自己会用的贼六,结果其他小朋友的模拟器都打开了,才发现自己运行不了模拟器.一度以为是我哪里操作错了.于 ...

  5. A/B HDU-1576(简单的数论题)

    Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1). Input 数据的第一 ...

  6. phpQuery简介

    接上一篇,使用 Snoopy 抓取回来网页之后,需要解析网页中的元素,但是对于 https://www.cnblogs.com/hellowzd/p/5163276.html

  7. DEDE升级5.7版本后生成页面空白_解…

    今天将DEDECMS V5.6升级到DEDECMS V5.7并升级5.7 SP1后,发现生成首页.栏目.内容页均为空白,没有任何反应,今天发布一个解决方法. 发现每个模板中调用过 Html2Text ...

  8. python — 进程

    目录 1. 进程 1.进程就是一个运行中的程序(是对正在运行程序的一个抽象). 2.程序和进程之间的区别: 程序只是一个文件 进程是这个文件被CPU运行起来了 程序是永久的,进程是暂时的. 3.进程- ...

  9. 一键部署etcd集群

    这里使用三个节点,系统版本为CentOS7 # vim deploy-etcd.sh #!/bin/bash set -x set -e #更改这里的IP, 只支持部署3个节点etcd集群 decla ...

  10. java lesson15Homework

    package lesson15; /** * 1. 使用ArrayList存储整型元素,并对元素进行升序输出 */ import java.util.ArrayList; import java.u ...