fluent-plugin-aliyun-odps 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|