fluent-plugin-aliyun-odps 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -1
- data/VERSION +1 -1
- data/lib/fluent/plugin/odps/odps_table.rb +32 -7
- data/lib/fluent/plugin/odps/odps_table_schema.rb +6 -5
- data/lib/fluent/plugin/out_aliyun_odps.rb +1 -0
- data/lib/fluent/plugin/serialize/serializer.rb +4 -0
- data/lib/fluent/plugin/stream_writer.rb +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33c05a1a6b13ea410537698e8bd6ee0ded655fae
|
4
|
+
data.tar.gz: 90f5de535dc2d9d48d65442e4f84bebc3d0870fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cbc2cf4a5cef08a7f7235972f8bdb4e99a24ffbf4b1d78dd5912683d6eddde45c5e363186c5317085f2965a783c608dc24dba6f1f7b6ace6abf997642566f387
|
7
|
+
data.tar.gz: 606b07286d5b0ab22dbc01aa7619b9718257b1083e985b295f1ac1be6cc280727ab1edfb4dbae30bce86d5575fc9530f2a6c109a3f49ad821431c51cf1e08095
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
0.0.4
|
2
2
|
Fix datetime format bug, support String, DateTime, Time type when write to a datetime field.
|
3
3
|
0.0.5
|
4
|
-
Add reload shard when import fails, and remove unload shard operation when shut down.
|
4
|
+
Add reload shard when import fails, and remove unload shard operation when shut down.
|
5
|
+
0.0.6
|
6
|
+
Add decimal support��fix string input while setting double and int.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
@@ -16,6 +16,7 @@
|
|
16
16
|
#specific language governing permissions and limitations
|
17
17
|
#under the License.
|
18
18
|
#
|
19
|
+
|
19
20
|
require 'rexml/document'
|
20
21
|
require_relative 'xml_template'
|
21
22
|
require_relative 'odps_table_schema'
|
@@ -56,22 +57,34 @@ module OdpsDatahub
|
|
56
57
|
def setBigInt(idx, value)
|
57
58
|
if value.is_a?Integer
|
58
59
|
setValue(idx, value)
|
60
|
+
elsif value.is_a?String
|
61
|
+
setValue(idx, value.to_i)
|
59
62
|
else
|
60
|
-
raise "value show be Integer"
|
63
|
+
raise "value show be Integer, idx:" + idx.to_s + " value:" + value.to_s
|
61
64
|
end
|
62
65
|
end
|
63
66
|
|
64
67
|
def setDouble(idx, value)
|
65
68
|
if value.is_a?Float
|
66
69
|
setValue(idx, value)
|
70
|
+
elsif value.is_a?String
|
71
|
+
setValue(idx, value.to_f)
|
67
72
|
else
|
68
|
-
raise "value show be Float"
|
73
|
+
raise "value show be Float, idx:" + idx.to_s + " value:" + value.to_s
|
69
74
|
end
|
70
75
|
end
|
71
76
|
|
72
77
|
def setBoolean(idx, value)
|
73
|
-
if value
|
74
|
-
|
78
|
+
if value.is_a?String
|
79
|
+
if value == "true"
|
80
|
+
setValue(idx, true)
|
81
|
+
elsif value == "false"
|
82
|
+
setValue(idx, false)
|
83
|
+
else
|
84
|
+
raise "value must be true or false, idx:" + idx.to_s + " value:" + value.to_s
|
85
|
+
end
|
86
|
+
elsif value != false and value != true
|
87
|
+
raise "value must be bool or string[true,false], idx:" + idx.to_s + " value:" + value.to_s
|
75
88
|
end
|
76
89
|
setValue(idx, value)
|
77
90
|
end
|
@@ -93,7 +106,19 @@ module OdpsDatahub
|
|
93
106
|
raise "Parse string to datetime failed, string:" + value
|
94
107
|
end
|
95
108
|
else
|
96
|
-
raise "DateTime cell should be in Integer or Time or DateTime format."
|
109
|
+
raise "DateTime cell should be in Integer or Time or DateTime format, idx:" + idx.to_s + " value:" + value.to_s
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
def setDecimal(idx, value)
|
114
|
+
if value.is_a?String
|
115
|
+
setValue(idx, value)
|
116
|
+
elsif value.is_a?Float
|
117
|
+
setValue(idx, value.to_s)
|
118
|
+
elsif value.is_a?BigDecimal
|
119
|
+
setValue(idx, value.to_s)
|
120
|
+
else
|
121
|
+
raise "value can not be convert to decimal, idx:" + idx.to_s + " value:" + value.to_s
|
97
122
|
end
|
98
123
|
end
|
99
124
|
|
@@ -101,14 +126,14 @@ module OdpsDatahub
|
|
101
126
|
if value.is_a?String and value.length < $STRING_MAX_LENTH
|
102
127
|
setValue(idx, value)
|
103
128
|
else
|
104
|
-
raise "value show be String and len < " + $STRING_MAX_LENTH.to_s
|
129
|
+
raise "value show be String and len < " + $STRING_MAX_LENTH.to_s + ", idx:" + idx.to_s + " value:" + value.to_s
|
105
130
|
end
|
106
131
|
end
|
107
132
|
|
108
133
|
private
|
109
134
|
def setValue(idx, value)
|
110
135
|
if idx < 0 or idx >= @mSchema.getColumnCount
|
111
|
-
raise "idx out of range"
|
136
|
+
raise "idx out of range, idx:" + idx.to_s + " value:" + value.to_s
|
112
137
|
end
|
113
138
|
@mValues[idx] = value
|
114
139
|
end
|
@@ -17,11 +17,12 @@
|
|
17
17
|
#under the License.
|
18
18
|
#
|
19
19
|
module OdpsDatahub
|
20
|
-
$ODPS_BIGINT = "bigint"
|
21
|
-
$ODPS_DOUBLE = "double"
|
22
|
-
$ODPS_BOOLEAN = "boolean"
|
23
|
-
$ODPS_DATETIME = "datetime"
|
24
|
-
$ODPS_STRING = "string"
|
20
|
+
$ODPS_BIGINT = "bigint" #8�ֽ��з�������
|
21
|
+
$ODPS_DOUBLE = "double" #8�ֽ�˫���ȸ�����
|
22
|
+
$ODPS_BOOLEAN = "boolean" #������
|
23
|
+
$ODPS_DATETIME = "datetime" #�������ͣ�ȡֵ��Χ��0001-01-01 00:00:00 ~ 9999-12-31 23:59:59
|
24
|
+
$ODPS_STRING = "string" #�ַ�������
|
25
|
+
$ODPS_DECIMAL = "decimal" #�ַ�������
|
25
26
|
|
26
27
|
class OdpsTableColumn
|
27
28
|
attr_reader :mName, :mType, :mIdx
|
@@ -120,6 +120,10 @@ module OdpsDatahub
|
|
120
120
|
crc32cRecord.update(cellValue)
|
121
121
|
writeTag(col.mIdx + 1, ::Protobuf::WireType::LENGTH_DELIMITED, upStream)
|
122
122
|
upStream.write(encodeString(cellValue))
|
123
|
+
when $ODPS_DECIMAL
|
124
|
+
crc32cRecord.update(cellValue)
|
125
|
+
writeTag(col.mIdx + 1, ::Protobuf::WireType::LENGTH_DELIMITED, upStream)
|
126
|
+
upStream.write(encodeString(cellValue))
|
123
127
|
else
|
124
128
|
raise OdpsDatahubException.new($INVALID_ARGUMENT, "invalid mType")
|
125
129
|
end
|
@@ -141,6 +141,8 @@ module OdpsDatahub
|
|
141
141
|
record.setDouble(i, value[i])
|
142
142
|
when $ODPS_STRING
|
143
143
|
record.setString(i, value[i])
|
144
|
+
when $ODPS_DECIMAL
|
145
|
+
record.setDecimal(i, value[i])
|
144
146
|
else
|
145
147
|
raise OdpsDatahubException.new($INVALID_ARGUMENT, "unsupported schema type")
|
146
148
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-aliyun-odps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Xiao Dong
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-11-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|