pig脚本不需要后缀名(python tempfile模块生成pig脚本临时文件,执行)

pig 脚本运行不需要后缀名

pig脚本名为tempfile,无后缀名
用pig -f tempfile 可直接运行
另外,pig tempfile也可以直接运行

这样就可以用python临时文件存储pig脚本内容直接调用

python调用pig脚本的一种方式

将pig脚本用任意文件存储,执行时写入python的临时文件(tempfile模块操作),执行结束后删除。执行过程:
    用tempfile模块NamedTemporaryFile生成临时文件,名字默认随机,然后,可以用tempfile.name直接调用该文件(无后缀名.pig),pig脚本内容存放在任意文本文件中。

这样处理的好处是:参数传入很方便,pig脚本内容中参数全部使用python的格式化字符串,如%s、%d,调用时读取作为字符串对象command,用%将实际参数拼入字符串command,这样就避免了使用pig脚本 -p传入大量参数的繁琐。

坏处:多此一举、麻烦。字符直接拼入-p后用 default获取,也是极好的

    pig_script = tempfile.NamedTemporaryFile(delete=False)
    pig_script.write(‘set default_parallel %d; SET mapred.job.queue.name %s; %s %s‘ % (config.PIG_PARALLEL, job_queue, udf_jar_str, command_piece % args))
    pig_script.flush()

    command = ‘‘‘%s -Dmapred.cache.files="%s,%s,%s,%s" -Dmapred.create.symlink=yes -Dmapred.child.java.opts=-Xmx%dm -f %s‘‘‘ %               (config.PIG_BIN, metadata_dir, quadkey_dir, region_template_dir, ipdb_file, config.PIG_TASK_MAX_MEM, pig_script.name)

    if logger:
        logger.debug(command)

    result = exec_command(command, task_id)
时间: 2024-08-02 20:24:07

pig脚本不需要后缀名(python tempfile模块生成pig脚本临时文件,执行)的相关文章

利用Shell脚本批量修改文件后缀名

在MDN下载了一个插件开发示例,几十个文件都被加上多余的.txt后缀名,写了个简单脚本,几行代码轻松解决了这个问题. 1 #!/bin/sh 2 3 for file in *.txt 4 do 5 mv $file `basename $file .txt` 6 done

FOR循环删除文件后缀名

工作目录下有1.txt,2.txt,3.txt...10.txt,10个文件,如下所示: -rw-r--r-- 1 root root 0 2月  24 14:59 10.txt-rw-r--r-- 1 root root 0 2月  24 14:59 1.txt-rw-r--r-- 1 root root 0 2月  24 14:59 2.txt-rw-r--r-- 1 root root 0 2月  24 14:59 3.txt-rw-r--r-- 1 root root 0 2月  24

Python常用模块介绍

python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的libraries(modules)如下: 1)python运行时服务 * copy: copy模块提供了对复合(compound)对象(list,tuple,dict,custom class)进行浅拷贝和深拷贝的功能. * pickle: pickle模块被用来序列化python的对象到bytes流,从而适合存储到文件,网络传输,或数据库存

一句话脚本系列之统计文件夹下各种后缀名的文件个数

欢迎转载!转载时请注明出处:http://blog.csdn.net/nfer_zhuang/article/details/42582425 引言 使用场景: 我所在的QQ群中最近聊的是热火朝天,也就导致着我的QQ缓冲文件夹的大小在疯涨,满500M的时候QQ客户端就会提示用户需要清除一下缓存文件夹了.其中缓冲文件夹中最大的部分就是各种图片文件,包括各种格式的图片.在删除前,我就想按照图片格式进行一下分类后备份到其他文件夹内.这个时候我就需要做一下统计了: 当前文件夹下有几种格式(后缀名)的图片

脚本_批量修改文件后缀名

#!bin/bash#功能:批量修改文件的后缀名,比如: 将.txt文件修改为.doc文件#作者:liusingbon#执行脚本时,需要在脚本名后面添加位置参数(文件后缀名)#例: 脚本名 txt doc (可以将以.txt结尾的文件修改为以.doc结尾)#例: 脚本名 doc jpg (可以将以.doc结尾的文件修改为以.jpg结尾)for i in "ls *.$1"do     mv $i  ${i%.*}.$2done 原文地址:https://www.cnblogs.com/

Python IDLE编辑器打开后缀名为.py的文件

在Windows操作系统下默认使用Python自带的IDLE编辑器打开后缀名为.py的文件. win+R打开运行 输入regedit,确定 在打开的注册表中找到以下目录:HKEY_CLASSES-ROOT->Python.file->shell->open->command 将该项的内容修改为:"D:\Python\Python3.6.1\pythonw.exe" "D:\Python\Python3.6.1\Lib\idlelib\idle.pyw&

Python - 多次检查后缀名(endwith)

在通过后缀名查找类型文件的时候, 多次使用endwith, 使用元组(tuple), 简化操作. 此类方式, 也可以应用于if语句多次相似检测. 代码 # 列出文件夹内所有代码 def list_dictionary_codes(root_dir): paths_list = [] for parent, dirNames, fileNames in os.walk(root_dir): for name in fileNames: ext = ['.h', '.m', '.xib', '.js

python批量修改文件名后缀名

#coding:utf-8import os # 列出当前目录的所有文件files = os.listdir('.')for filename in files: # 分割文件名和后缀名 portion = os.path.splitext(filename) # 比较后缀名 if portion[1] == ".mp3": # 修改后缀名 newname = portion[0] + ".m4a" os.rename(filename, newname) # 打印

python 识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,并将图片再按照自己的后缀名存储起来

下列代码,识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,再按照自己的后缀名存储起来 bug:我是用来识别单张图片中只有一个人脸的数据集,如果用来处理一张图片中的多个人脸,那么图片的命名可能会有bug - import cv2 import os import glob #最后剪裁的图片大小 size_m = 48 size_n = 48 def detect(img, cascade): rects = cascade.detectMultiScale(img, scaleFactor=1