使用python操作hdfs,并grep想要的数据

代码如下:

import subprocess

for day in range(24, 30):
    for h in range(0, 24):
        filename = "tls-metadata-2018-10-%02d-%02d.txt" % (day, h)
        cmd = "hdfs dfs -text /data/2018/10/%02d/%02d/*.snappy" % (day, h)
        print(cmd)
        #cmd = "cat *.py"
        cmd = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
        f = open(filename, "w")
        for line in cmd.stdout:
            try:
              arr = line.split("^")
              if len(arr) >= 120 and arr[6] == "6" and arr[25] == "SSL" and arr[107]:
                #print(line)
                f.write("^".join(arr[:32]) + "^" + arr[95] + "^" + "^".join(arr[105:119])+ "\n")
            except Exception as e:
                print(e, "fuck error", line)
        f.close()
        #import sys
        #sys.exit(0)

原文地址:https://www.cnblogs.com/bonelee/p/9941559.html

时间: 2024-10-07 18:36:26

使用python操作hdfs,并grep想要的数据的相关文章

Python操作hdfs

Python直接操作hdfs,包括追加数据文件到hdfs文件 #!coding:utf-8 import sys from hdfs.client import Client #设置utf-8模式 reload(sys) sys.setdefaultencoding( "utf-8" ) #关于python操作hdfs的API可以查看官网: #https://hdfscli.readthedocs.io/en/latest/api.html #读取hdfs文件内容,将每行存入数组返回

用python操作mysql数据库(之简单“插入数据”操作)

#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 1.这里的数据库环境为本地数据库 2.我要通过python操作的数据库是test_db 3.该数据库里有一个表,表名称:user 4.表字段:id.name.address 5.其中,id字段为自增,也是主键 6.因ID字段为自曾,所以在插入数据的时候会自己增加数字,所以在这里不用额外再插入数据 ''' import MySQLdb #建立连接 conn = MySQLdb.connect(hos

Python操作Hdfs,获得hdfs文件名和文件的基本属性,包括修改时间,并转化为标准时间

使用anaconda安装python hdfs包 python-hdfs 2.1.0的包 from hdfs import *import time client = Client("http://192.168.56.101:50070")ll = client.list('/home/test', status=True)for i in ll: table_name = i[0]#表名 table_attr = i[1]#表的属性 #修改时间1528353247347,13位到毫

用python操作mysql数据库(之批量插入数据)

#!/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb #建立连接 conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1qaz#EDC',db='test_db') cur = conn.cursor() #对数据进行操作 li = [('tanzhenx','shaoguan'),('huangmengdie','shaoguan')] #定义一个列表,列表中

python操作s3 -- boto2.x

以下是python操作s3常用方法,想看boto3等内容,自行看文档 具体的自己看官方文档:http://boto3.readthedocs.org/en/latest/index.html import boto from boto.s3.key import Key #高级连接,当然你需要配置好YOUR_ACCESS_KEY,YOUR_SECRET_KEY,我这里是配好了 conn = boto.connect_s3() #创建一个存储桶 conn.create_bucket('yourbu

hadoop 》》 django 简单操作hdfs 语句

>> from django.shortcuts import render # Create your views here. from hdfs.client import Client from django.views import View from hdfs.client import Client import os # # # 关于python操作hdfs的API可以查看官网: # # https://hdfscli.readthedocs.io/en/latest/api.h

Python操作Memcache

Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. Memcached安装和基本使用 Memcached安装: 1 wget http://memcached.org/late

Python操作 Memcache、Redis、RabbitMQ、SQLAlchemy

Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 安装 yum -y install libevent-devel wget http://memcached.org/lat

python操作mysql ------- SqlAchemy正传

本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 下载安装 pip3 install pymysql 使用操作 1.执行SQL #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql # 创建连接 conn = pymysql.connect(host='127.0.0.1