Skip to content

Commit d975288

Browse files
committed
Merge pull request #24 from civitaspo/v0.2.1
V0.2.1
2 parents cb126e2 + 33bcdfc commit d975288

16 files changed

+818
-453
lines changed

Diff for: CHENGELOG.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1-
0.2.0 (2016-02-xx)
1+
0.2.1 (2016-02-25)
2+
==================
3+
- [Fix] does not work
4+
5+
0.2.0 (2016-02-15)
26
==================
37
- [Add] `decompression` option

Diff for: build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ configurations {
1515
provided
1616
}
1717

18-
version = "0.2.0"
18+
version = "0.2.1"
1919

2020
sourceCompatibility = 1.7
2121
targetCompatibility = 1.7

Diff for: example/config.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,14 @@ local_fs_example: &local_fs_example
1212
fs.defaultFS: 'file:///'
1313
fs.hdfs.impl: 'org.apache.hadoop.fs.LocalFileSystem'
1414
fs.file.impl: 'org.apache.hadoop.fs.LocalFileSystem'
15+
io.compression.codecs: 'org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec'
1516

1617
in:
1718
type: hdfs
1819
<<: *local_fs_example
19-
path: example/data.csv
20+
path: example/data*
21+
skip_header_lines: 1
22+
decompression: true
2023
parser:
2124
charset: UTF-8
2225
newline: CRLF

Diff for: example/data2.csv.gz

182 Bytes
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package org.embulk.input.hdfs;
2+
3+
import com.google.common.collect.ImmutableList;
4+
import com.google.common.collect.ImmutableMap;
5+
import com.google.common.collect.Lists;
6+
import com.google.common.collect.Maps;
7+
import org.apache.hadoop.conf.Configuration;
8+
import org.embulk.config.ConfigException;
9+
import org.embulk.spi.Exec;
10+
import org.slf4j.Logger;
11+
12+
import java.io.File;
13+
import java.net.MalformedURLException;
14+
import java.util.List;
15+
import java.util.Map;
16+
17+
/**
18+
* Created by takahiro.nakayama on 2/22/16.
19+
*/
20+
public class ConfigurationBuilder
21+
{
22+
private static final Logger logger = Exec.getLogger(ConfigurationBuilder.class);
23+
private final ImmutableList.Builder<String> configFilesBuilder;
24+
private final ImmutableMap.Builder<String, String> configMapBuilder;
25+
26+
public ConfigurationBuilder()
27+
{
28+
this.configFilesBuilder = ImmutableList.builder();
29+
this.configMapBuilder = ImmutableMap.builder();
30+
}
31+
32+
public ConfigurationBuilder addConfigFiles(List<String> configFiles)
33+
{
34+
for (String configFile : configFiles) {
35+
addConfigFile(configFile);
36+
}
37+
return this;
38+
}
39+
40+
public ConfigurationBuilder addConfigFile(String configFile)
41+
{
42+
configFilesBuilder.add(configFile);
43+
return this;
44+
}
45+
46+
public ConfigurationBuilder addConfigMap(Map<String, String> configMap)
47+
{
48+
for (Map.Entry<String, String> entry : configMap.entrySet()) {
49+
addConfig(entry.getKey(), entry.getValue());
50+
}
51+
return this;
52+
}
53+
54+
public ConfigurationBuilder addConfig(String key, String value)
55+
{
56+
configMapBuilder.put(key, value);
57+
return this;
58+
}
59+
60+
public Configuration build()
61+
{
62+
Configuration configuration = new Configuration();
63+
for (String configFile : configFilesBuilder.build()) {
64+
File file = new File(configFile);
65+
try {
66+
configuration.addResource(file.toURI().toURL());
67+
}
68+
catch (MalformedURLException e) {
69+
throw new ConfigException(e);
70+
}
71+
}
72+
for (Map.Entry<String, String> entry : configMapBuilder.build().entrySet()) {
73+
configuration.set(entry.getKey(), entry.getValue());
74+
}
75+
// For debug
76+
for (Map.Entry<String, String> entry : configuration) {
77+
logger.trace("{}: {}", entry.getKey(), entry.getValue());
78+
}
79+
logger.trace("Resource Files: {}", configuration);
80+
return configuration;
81+
}
82+
}

0 commit comments

Comments
 (0)