Sha256: 158b9474fcc3de4e9b5547da0bcc49226ae193db8347a665296a90e05270c033
Contents?: true
Size: 1.62 KB
Versions: 2
Compression:
Stored size: 1.62 KB
Contents
require 'init' require 'core' require 'hive_like' include HadoopDsl::HiveLike describe HiveLikeSetup do it 'should load data' do script = create_tmp_script(%Q!load_data "hive-like/inputs", items;!) conf = mock('conf') conf.should_receive(:output_key_class=).once conf.should_receive(:output_value_class=).once setup = HiveLikeSetup.new(script, conf) setup.run setup.paths[0].should == 'hive-like/inputs' setup.paths[1].should == 'hive-like/outputs' end end describe HiveLikeMapper do before do @value = 'apple, 3, 100' end it 'should create table' do mapper = HiveLikeMapper.new(nil, nil, @value) mapper.create_table('items', 'item', 'STRING', 'quantity', 'INT', 'price', 'INT'); mapper.table.name.should == 'items' mapper.table.column(0).should == 'item' mapper.table.column(1).should == 'quantity' end it 'should select' do mapper = HiveLikeMapper.new(nil, nil, @value) mapper.create_table('items', 'item', 'STRING', 'quantity', 'INT', 'price', 'INT'); mapper.select("item", "quantity", "price", "from", "items") mapper.emitted.first.should == {'items' => 'apple, 3, 100'} end it 'should pre process script body' do body = "select foo, bar from table;\n" mapper = HiveLikeMapper.new(nil, nil, @value) processed = mapper.pre_process(body) processed.should == %Q!select("foo", "bar", "from", "table")\n! end end describe HiveLikeReducer do it 'should select as identity' do key = 'Lorem' values = [1, 1, 1] reducer = HiveLikeReducer.new(nil, key, values) reducer.select reducer.emitted[0].should == {'Lorem' => 1} end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hadoop-rubydsl-0.0.2 | spec/hive_like_spec.rb |
hadoop-rubydsl-0.0.1 | spec/hive_like_spec.rb |