pigspec 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pigspec.rb +24 -9
- data/lib/pigspec/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f7b3322d7176a21b68b6eecf8108f249fed30f6
|
4
|
+
data.tar.gz: f353261cbbfa282cd776f1068c80d3c8e72184e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c39701ceeacc8b0ed4e2e591e25b5f4b0e428ded03cf1fefafc92c6062ae4c9d69002e7b391adb76336191a5f8a4dc3fb0d8932c278a39356d564d859fc0aa02
|
7
|
+
data.tar.gz: 248f03a67b1289afb7a68b7f0ba910b37f34a5115c60ea61acd8c41030d89e0ea18001d02e3bdfd384763a8822e53c56a18b36243336fad8f3462bd901049d78
|
data/lib/pigspec.rb
CHANGED
@@ -58,8 +58,8 @@ module PigSpec
|
|
58
58
|
end
|
59
59
|
expose :with_args
|
60
60
|
|
61
|
-
def override(name, value)
|
62
|
-
@override.push name: name, value: value
|
61
|
+
def override(name, value, options = {})
|
62
|
+
@override.push name: name, value: value, schema: options[:as]
|
63
63
|
end
|
64
64
|
expose :override
|
65
65
|
|
@@ -83,16 +83,31 @@ module PigSpec
|
|
83
83
|
|
84
84
|
def apply_override(test)
|
85
85
|
@override.each do |item|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
schema = Test.bridge.schema item[:name]
|
90
|
-
query = "#{item[:name]} = LOAD '#{temp}' USING PigStorage('\\t')"
|
91
|
-
query += " AS #{schema}" unless schema.nil?
|
92
|
-
query += ';'
|
86
|
+
value_file = upload_override_value item
|
87
|
+
query = compose_override_query item, value_file
|
93
88
|
test.override item[:name], query
|
94
89
|
end
|
95
90
|
end
|
91
|
+
|
92
|
+
def upload_override_value(item)
|
93
|
+
temp = Test.bridge.create_hdfs_temp
|
94
|
+
Test.bridge.upload_text item[:value], temp
|
95
|
+
temp
|
96
|
+
end
|
97
|
+
|
98
|
+
def compose_override_query(item, value_file)
|
99
|
+
schema = compose_override_schema item
|
100
|
+
query = "#{item[:name]} = LOAD '#{value_file}' USING PigStorage('\\t')"
|
101
|
+
query += " AS #{schema}" unless schema.nil?
|
102
|
+
query += ';'
|
103
|
+
query
|
104
|
+
end
|
105
|
+
|
106
|
+
def compose_override_schema(item)
|
107
|
+
schema = item[:schema]
|
108
|
+
schema ||= Test.bridge.schema item[:name]
|
109
|
+
schema
|
110
|
+
end
|
96
111
|
end # class Test
|
97
112
|
|
98
113
|
module_function
|
data/lib/pigspec/version.rb
CHANGED