Project

pigspec

0.0
No commit activity in last 3 years
No release in over 3 years
A Testing Framework extension for Apache Pig.To setup, executing and get the result.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.7
~> 10.0
>= 0

Runtime

>= 0
 Project Readme

PigSpec

PigSpec is an extention for rspec testing framework for Apache Pig. This extention can execute pig script with customize input relation data, and can get output relation data in ruby easily.

Installation

PigSpec uses Pig and PigUnit. Thus, install Pig and PigUnit first.

Second. install gem of pigspec.

If you using bundle, You write Gemfile to

gem 'pigspec'

And then execute:

$ bundle

Or install it yourself as:

$ gem install pigspec

Usage

First: write a test case in your rspec code. Sample:

require 'pigspec'
include PigSpec

describe 'SamplePigTest' do
  it 'sample test' do
    actual = pig do
      script <<-EOS
        in = LOAD 'inputfile' AS (query:chararray);
        out = LIMIT in 1;
        STORE out INTO 'outputfile';
      EOS
      with_args 'n=2'
      override 'in', %w(hoge hoge hoge)
      pickup 'out'
    end
    expect(actual).to eq([['hoge']])
  end
end

pig returns pickuped alias datas.

Readed datatype are following:

Pig DataType Ruby Class
bag Array
tuple Array
map String
chararray String
bytearray String
datetime String
long Integer
integer Integer
double Float
float Float
boolean True/False

Second: Set environment variable PIG_HOME to Your pig installed directory, And Run.

export PIG_HOME=<your pig installed dir>
spec

Contributing

  1. Fork it ( https://github.com/shiracha/pigspec/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request