embulk 0.7.0-java
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 +7 -0
- data/.gitignore +15 -0
- data/.ruby-version +1 -0
- data/.travis.yml +18 -0
- data/COPYING +14 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +31 -0
- data/README.md +206 -0
- data/Rakefile +26 -0
- data/appveyor.yml +20 -0
- data/bin/embulk +106 -0
- data/build.gradle +338 -0
- data/embulk-cli/build.gradle +6 -0
- data/embulk-cli/src/main/java/org/embulk/cli/Main.java +22 -0
- data/embulk-cli/src/main/sh/selfrun.sh +158 -0
- data/embulk-cli/src/test/java/org/embulk/cli/DummyMain.java +23 -0
- data/embulk-cli/src/test/java/org/embulk/cli/SelfrunTest.java +281 -0
- data/embulk-core/build.gradle +59 -0
- data/embulk-core/src/main/java/org/embulk/EmbulkEmbed.java +315 -0
- data/embulk-core/src/main/java/org/embulk/EmbulkService.java +76 -0
- data/embulk-core/src/main/java/org/embulk/command/PreviewPrinter.java +84 -0
- data/embulk-core/src/main/java/org/embulk/command/TablePreviewPrinter.java +107 -0
- data/embulk-core/src/main/java/org/embulk/command/VerticalPreviewPrinter.java +47 -0
- data/embulk-core/src/main/java/org/embulk/config/CommitReport.java +33 -0
- data/embulk-core/src/main/java/org/embulk/config/Config.java +15 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigDefault.java +15 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigDiff.java +29 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigException.java +20 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigInject.java +14 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigLoader.java +141 -0
- data/embulk-core/src/main/java/org/embulk/config/ConfigSource.java +31 -0
- data/embulk-core/src/main/java/org/embulk/config/DataSource.java +39 -0
- data/embulk-core/src/main/java/org/embulk/config/DataSourceImpl.java +231 -0
- data/embulk-core/src/main/java/org/embulk/config/DataSourceSerDe.java +84 -0
- data/embulk-core/src/main/java/org/embulk/config/GenericTypeReference.java +20 -0
- data/embulk-core/src/main/java/org/embulk/config/ModelManager.java +123 -0
- data/embulk-core/src/main/java/org/embulk/config/Task.java +10 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskInvocationHandler.java +180 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskReport.java +29 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskSerDe.java +345 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskSource.java +31 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskValidationException.java +38 -0
- data/embulk-core/src/main/java/org/embulk/config/TaskValidator.java +24 -0
- data/embulk-core/src/main/java/org/embulk/exec/BulkLoader.java +652 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExecModule.java +52 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExecutionInterruptedException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExecutionResult.java +26 -0
- data/embulk-core/src/main/java/org/embulk/exec/ExtensionServiceLoaderModule.java +43 -0
- data/embulk-core/src/main/java/org/embulk/exec/ForGuess.java +16 -0
- data/embulk-core/src/main/java/org/embulk/exec/ForSystemConfig.java +16 -0
- data/embulk-core/src/main/java/org/embulk/exec/GuessExecutor.java +373 -0
- data/embulk-core/src/main/java/org/embulk/exec/LocalExecutorPlugin.java +129 -0
- data/embulk-core/src/main/java/org/embulk/exec/LocalThreadExecutor.java +34 -0
- data/embulk-core/src/main/java/org/embulk/exec/LoggerProvider.java +60 -0
- data/embulk-core/src/main/java/org/embulk/exec/NoSampleException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/exec/PartialExecutionException.java +18 -0
- data/embulk-core/src/main/java/org/embulk/exec/PooledBufferAllocator.java +77 -0
- data/embulk-core/src/main/java/org/embulk/exec/PreviewExecutor.java +183 -0
- data/embulk-core/src/main/java/org/embulk/exec/PreviewResult.java +27 -0
- data/embulk-core/src/main/java/org/embulk/exec/PreviewedNoticeError.java +17 -0
- data/embulk-core/src/main/java/org/embulk/exec/ResumeState.java +100 -0
- data/embulk-core/src/main/java/org/embulk/exec/SamplingParserPlugin.java +136 -0
- data/embulk-core/src/main/java/org/embulk/exec/SetCurrentThreadName.java +19 -0
- data/embulk-core/src/main/java/org/embulk/exec/SystemConfigModule.java +24 -0
- data/embulk-core/src/main/java/org/embulk/exec/TempFileAllocator.java +35 -0
- data/embulk-core/src/main/java/org/embulk/guice/Bootstrap.java +157 -0
- data/embulk-core/src/main/java/org/embulk/guice/CloseableInjector.java +22 -0
- data/embulk-core/src/main/java/org/embulk/guice/InjectorProxy.java +145 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleInjector.java +26 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleInjectorProxy.java +61 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleManager.java +187 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethods.java +89 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleMethodsMap.java +38 -0
- data/embulk-core/src/main/java/org/embulk/guice/LifeCycleModule.java +97 -0
- data/embulk-core/src/main/java/org/embulk/jruby/JRubyPluginSource.java +72 -0
- data/embulk-core/src/main/java/org/embulk/jruby/JRubyScriptingModule.java +119 -0
- data/embulk-core/src/main/java/org/embulk/plugin/BuiltinPluginSourceModule.java +17 -0
- data/embulk-core/src/main/java/org/embulk/plugin/InjectedPluginSource.java +96 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoader.java +168 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderFactory.java +9 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginClassLoaderModule.java +71 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginManager.java +78 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginSource.java +6 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginSourceNotMatchException.java +19 -0
- data/embulk-core/src/main/java/org/embulk/plugin/PluginType.java +47 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/InputPluginWrapper.java +102 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/PluginWrappers.java +30 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileInputWrapper.java +96 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalFileOutputWrapper.java +102 -0
- data/embulk-core/src/main/java/org/embulk/plugin/compat/TransactionalPageOutputWrapper.java +95 -0
- data/embulk-core/src/main/java/org/embulk/spi/Buffer.java +148 -0
- data/embulk-core/src/main/java/org/embulk/spi/BufferAllocator.java +8 -0
- data/embulk-core/src/main/java/org/embulk/spi/Column.java +92 -0
- data/embulk-core/src/main/java/org/embulk/spi/ColumnConfig.java +112 -0
- data/embulk-core/src/main/java/org/embulk/spi/ColumnVisitor.java +14 -0
- data/embulk-core/src/main/java/org/embulk/spi/DecoderPlugin.java +16 -0
- data/embulk-core/src/main/java/org/embulk/spi/EncoderPlugin.java +16 -0
- data/embulk-core/src/main/java/org/embulk/spi/Exec.java +113 -0
- data/embulk-core/src/main/java/org/embulk/spi/ExecAction.java +6 -0
- data/embulk-core/src/main/java/org/embulk/spi/ExecSession.java +217 -0
- data/embulk-core/src/main/java/org/embulk/spi/ExecutorPlugin.java +19 -0
- data/embulk-core/src/main/java/org/embulk/spi/Extension.java +44 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileInput.java +11 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileInputPlugin.java +30 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileInputRunner.java +162 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileOutput.java +13 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputPlugin.java +28 -0
- data/embulk-core/src/main/java/org/embulk/spi/FileOutputRunner.java +202 -0
- data/embulk-core/src/main/java/org/embulk/spi/FilterPlugin.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/FormatterPlugin.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/GuessPlugin.java +9 -0
- data/embulk-core/src/main/java/org/embulk/spi/InputPlugin.java +33 -0
- data/embulk-core/src/main/java/org/embulk/spi/OutputPlugin.java +29 -0
- data/embulk-core/src/main/java/org/embulk/spi/Page.java +51 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageBuilder.java +338 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageFormat.java +47 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageOutput.java +11 -0
- data/embulk-core/src/main/java/org/embulk/spi/PageReader.java +226 -0
- data/embulk-core/src/main/java/org/embulk/spi/ParserPlugin.java +17 -0
- data/embulk-core/src/main/java/org/embulk/spi/ProcessState.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/ProcessTask.java +117 -0
- data/embulk-core/src/main/java/org/embulk/spi/Schema.java +134 -0
- data/embulk-core/src/main/java/org/embulk/spi/SchemaConfig.java +93 -0
- data/embulk-core/src/main/java/org/embulk/spi/SchemaConfigException.java +22 -0
- data/embulk-core/src/main/java/org/embulk/spi/TaskState.java +81 -0
- data/embulk-core/src/main/java/org/embulk/spi/TempFileException.java +19 -0
- data/embulk-core/src/main/java/org/embulk/spi/TempFileSpace.java +87 -0
- data/embulk-core/src/main/java/org/embulk/spi/Transactional.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileInput.java +17 -0
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalFileOutput.java +19 -0
- data/embulk-core/src/main/java/org/embulk/spi/TransactionalPageOutput.java +17 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/DateTimeZoneSerDe.java +55 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelper.java +8 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/JRubyTimeParserHelperFactory.java +6 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/Timestamp.java +159 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormat.java +100 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampFormatter.java +97 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParseException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampParser.java +104 -0
- data/embulk-core/src/main/java/org/embulk/spi/time/TimestampSerDe.java +49 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/AbstractType.java +58 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/BooleanType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/DoubleType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/LongType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/StringType.java +12 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/TimestampType.java +41 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/Type.java +15 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/TypeDeserializer.java +44 -0
- data/embulk-core/src/main/java/org/embulk/spi/type/Types.java +14 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/ByteSize.java +156 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFile.java +106 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/LocalFileSerDe.java +113 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/ToString.java +54 -0
- data/embulk-core/src/main/java/org/embulk/spi/unit/ToStringMap.java +34 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/CharsetSerDe.java +55 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Decoders.java +81 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnNotFoundException.java +10 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetter.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicColumnSetterFactory.java +94 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/DynamicPageBuilder.java +161 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Encoders.java +81 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Executors.java +95 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/FileInputInputStream.java +111 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/FileOutputOutputStream.java +119 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Filters.java +100 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamFileInput.java +190 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/InputStreamTransactionalFileInput.java +25 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Inputs.java +65 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/LineDecoder.java +118 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/LineEncoder.java +123 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/ListFileInput.java +52 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Newline.java +38 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/OutputStreamFileOutput.java +88 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/PagePrinter.java +102 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Pages.java +139 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/ResumableInputStream.java +128 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/RetryExecutor.java +130 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/Timestamps.java +53 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/AbstractDynamicColumnSetter.java +79 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/BooleanColumnSetter.java +64 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DefaultValueSetter.java +18 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/DoubleColumnSetter.java +61 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/LongColumnSetter.java +69 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/NullDefaultValueSetter.java +34 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/SkipColumnSetter.java +52 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/StringColumnSetter.java +56 -0
- data/embulk-core/src/main/java/org/embulk/spi/util/dynamic/TimestampColumnSetter.java +64 -0
- data/embulk-core/src/main/resources/embulk/logback-color.xml +72 -0
- data/embulk-core/src/main/resources/embulk/logback-console.xml +14 -0
- data/embulk-core/src/main/resources/embulk/logback-file.xml +25 -0
- data/embulk-core/src/main/resources/embulk/parent_first_packages.properties +70 -0
- data/embulk-core/src/main/resources/embulk/parent_first_resources.properties +28 -0
- data/embulk-core/src/test/java/org/embulk/EmbulkTestRuntime.java +114 -0
- data/embulk-core/src/test/java/org/embulk/GuiceBinder.java +72 -0
- data/embulk-core/src/test/java/org/embulk/RandomManager.java +53 -0
- data/embulk-core/src/test/java/org/embulk/TestPluginSourceModule.java +23 -0
- data/embulk-core/src/test/java/org/embulk/TestUtilityModule.java +17 -0
- data/embulk-core/src/test/java/org/embulk/config/TestConfigLoader.java +66 -0
- data/embulk-core/src/test/java/org/embulk/config/TestConfigSource.java +114 -0
- data/embulk-core/src/test/java/org/embulk/config/TestTaskSource.java +70 -0
- data/embulk-core/src/test/java/org/embulk/plugin/MockPluginSource.java +58 -0
- data/embulk-core/src/test/java/org/embulk/plugin/TestPluginType.java +18 -0
- data/embulk-core/src/test/java/org/embulk/spi/MockFileOutput.java +63 -0
- data/embulk-core/src/test/java/org/embulk/spi/MockFormatterPlugin.java +101 -0
- data/embulk-core/src/test/java/org/embulk/spi/MockParserPlugin.java +73 -0
- data/embulk-core/src/test/java/org/embulk/spi/PageTestUtils.java +57 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestBuffer.java +24 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestFileInputInputStream.java +89 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestFileInputRunner.java +196 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestFileOutputRunner.java +207 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestInputStreamFileInput.java +188 -0
- data/embulk-core/src/test/java/org/embulk/spi/TestPageBuilderReader.java +319 -0
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestamp.java +116 -0
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParser.java +63 -0
- data/embulk-core/src/test/java/org/embulk/spi/time/TestTimestampFormatterParserDeprecated.java +67 -0
- data/embulk-core/src/test/java/org/embulk/spi/type/TestTypeSerDe.java +45 -0
- data/embulk-core/src/test/java/org/embulk/spi/unit/TestByteSize.java +79 -0
- data/embulk-core/src/test/java/org/embulk/spi/util/TestLineDecoder.java +132 -0
- data/embulk-core/src/test/java/org/embulk/spi/util/TestLineEncoder.java +123 -0
- data/embulk-docs/Makefile +178 -0
- data/embulk-docs/build.gradle +32 -0
- data/embulk-docs/make.bat +243 -0
- data/embulk-docs/push-gh-pages.sh +49 -0
- data/embulk-docs/src/_static/embulk-architecture.png +0 -0
- data/embulk-docs/src/_static/embulk-logo.png +0 -0
- data/embulk-docs/src/_static/embulk-logo.svg +133 -0
- data/embulk-docs/src/built-in.rst +440 -0
- data/embulk-docs/src/conf.py +260 -0
- data/embulk-docs/src/customization.rst +184 -0
- data/embulk-docs/src/index.rst +84 -0
- data/embulk-docs/src/recipe.rst +8 -0
- data/embulk-docs/src/recipe/scheduled-csv-load-to-elasticsearch-kibana4.rst +153 -0
- data/embulk-docs/src/release.rst +57 -0
- data/embulk-docs/src/release/release-0.1.0.rst +8 -0
- data/embulk-docs/src/release/release-0.2.0.rst +16 -0
- data/embulk-docs/src/release/release-0.2.1.rst +19 -0
- data/embulk-docs/src/release/release-0.3.0.rst +34 -0
- data/embulk-docs/src/release/release-0.3.1.rst +11 -0
- data/embulk-docs/src/release/release-0.3.2.rst +15 -0
- data/embulk-docs/src/release/release-0.4.0.rst +74 -0
- data/embulk-docs/src/release/release-0.4.1.rst +18 -0
- data/embulk-docs/src/release/release-0.4.10.rst +17 -0
- data/embulk-docs/src/release/release-0.4.2.rst +18 -0
- data/embulk-docs/src/release/release-0.4.3.rst +34 -0
- data/embulk-docs/src/release/release-0.4.4.rst +39 -0
- data/embulk-docs/src/release/release-0.4.5.rst +24 -0
- data/embulk-docs/src/release/release-0.4.6.rst +30 -0
- data/embulk-docs/src/release/release-0.4.7.rst +16 -0
- data/embulk-docs/src/release/release-0.4.8.rst +15 -0
- data/embulk-docs/src/release/release-0.4.9.rst +23 -0
- data/embulk-docs/src/release/release-0.5.0.rst +89 -0
- data/embulk-docs/src/release/release-0.5.1.rst +13 -0
- data/embulk-docs/src/release/release-0.5.2.rst +30 -0
- data/embulk-docs/src/release/release-0.5.3.rst +22 -0
- data/embulk-docs/src/release/release-0.5.4.rst +24 -0
- data/embulk-docs/src/release/release-0.5.5.rst +18 -0
- data/embulk-docs/src/release/release-0.6.0.rst +34 -0
- data/embulk-docs/src/release/release-0.6.1.rst +11 -0
- data/embulk-docs/src/release/release-0.6.10.rst +15 -0
- data/embulk-docs/src/release/release-0.6.11.rst +19 -0
- data/embulk-docs/src/release/release-0.6.12.rst +31 -0
- data/embulk-docs/src/release/release-0.6.13.rst +23 -0
- data/embulk-docs/src/release/release-0.6.14.rst +47 -0
- data/embulk-docs/src/release/release-0.6.15.rst +26 -0
- data/embulk-docs/src/release/release-0.6.16.rst +26 -0
- data/embulk-docs/src/release/release-0.6.17.rst +39 -0
- data/embulk-docs/src/release/release-0.6.18.rst +14 -0
- data/embulk-docs/src/release/release-0.6.19.rst +18 -0
- data/embulk-docs/src/release/release-0.6.2.rst +17 -0
- data/embulk-docs/src/release/release-0.6.20.rst +19 -0
- data/embulk-docs/src/release/release-0.6.21.rst +20 -0
- data/embulk-docs/src/release/release-0.6.22.rst +26 -0
- data/embulk-docs/src/release/release-0.6.23.rst +17 -0
- data/embulk-docs/src/release/release-0.6.24.rst +13 -0
- data/embulk-docs/src/release/release-0.6.25.rst +12 -0
- data/embulk-docs/src/release/release-0.6.3.rst +23 -0
- data/embulk-docs/src/release/release-0.6.4.rst +13 -0
- data/embulk-docs/src/release/release-0.6.5.rst +17 -0
- data/embulk-docs/src/release/release-0.6.6.rst +17 -0
- data/embulk-docs/src/release/release-0.6.7.rst +17 -0
- data/embulk-docs/src/release/release-0.6.8.rst +24 -0
- data/embulk-docs/src/release/release-0.6.9.rst +24 -0
- data/embulk-docs/src/release/release-0.7.0.rst +96 -0
- data/embulk-standards/build.gradle +5 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvFormatterPlugin.java +284 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvParserPlugin.java +379 -0
- data/embulk-standards/src/main/java/org/embulk/standards/CsvTokenizer.java +411 -0
- data/embulk-standards/src/main/java/org/embulk/standards/GzipFileDecoderPlugin.java +55 -0
- data/embulk-standards/src/main/java/org/embulk/standards/GzipFileEncoderPlugin.java +71 -0
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileInputPlugin.java +203 -0
- data/embulk-standards/src/main/java/org/embulk/standards/LocalFileOutputPlugin.java +148 -0
- data/embulk-standards/src/main/java/org/embulk/standards/NullOutputPlugin.java +59 -0
- data/embulk-standards/src/main/java/org/embulk/standards/RenameFilterPlugin.java +56 -0
- data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginExtension.java +16 -0
- data/embulk-standards/src/main/java/org/embulk/standards/StandardPluginModule.java +53 -0
- data/embulk-standards/src/main/java/org/embulk/standards/StdoutOutputPlugin.java +85 -0
- data/embulk-standards/src/main/resources/META-INF/services/org.embulk.spi.Extension +1 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvFormatterPlugin.java +312 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvParserPlugin.java +75 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestCsvTokenizer.java +360 -0
- data/embulk-standards/src/test/java/org/embulk/standards/TestRenameFilterPlugin.java +88 -0
- data/embulk.gemspec +39 -0
- data/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/gradlew +164 -0
- data/gradlew.bat +90 -0
- data/lib/embulk.rb +72 -0
- data/lib/embulk/buffer.rb +22 -0
- data/lib/embulk/column.rb +70 -0
- data/lib/embulk/command/embulk_bundle.rb +56 -0
- data/lib/embulk/command/embulk_example.rb +32 -0
- data/lib/embulk/command/embulk_generate_bin.rb +62 -0
- data/lib/embulk/command/embulk_main.rb +2 -0
- data/lib/embulk/command/embulk_migrate_plugin.rb +170 -0
- data/lib/embulk/command/embulk_new_plugin.rb +124 -0
- data/lib/embulk/command/embulk_run.rb +470 -0
- data/lib/embulk/command/embulk_selfupdate.rb +84 -0
- data/lib/embulk/data/bundle/.bundle/config +3 -0
- data/lib/embulk/data/bundle/.ruby-version +1 -0
- data/lib/embulk/data/bundle/Gemfile +26 -0
- data/lib/embulk/data/bundle/embulk/filter/example.rb +42 -0
- data/lib/embulk/data/bundle/embulk/input/example.rb +54 -0
- data/lib/embulk/data/bundle/embulk/output/example.rb +58 -0
- data/lib/embulk/data/new/LICENSE.txt +21 -0
- data/lib/embulk/data/new/README.md.erb +111 -0
- data/lib/embulk/data/new/gitignore.erb +13 -0
- data/lib/embulk/data/new/java/build.gradle.erb +73 -0
- data/lib/embulk/data/new/java/decoder.java.erb +84 -0
- data/lib/embulk/data/new/java/encoder.java.erb +86 -0
- data/lib/embulk/data/new/java/file_input.java.erb +143 -0
- data/lib/embulk/data/new/java/file_output.java.erb +93 -0
- data/lib/embulk/data/new/java/filter.java.erb +56 -0
- data/lib/embulk/data/new/java/formatter.java.erb +54 -0
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/lib/embulk/data/new/java/gradle/wrapper/gradle-wrapper.properties +6 -0
- data/lib/embulk/data/new/java/gradlew +164 -0
- data/lib/embulk/data/new/java/gradlew.bat +90 -0
- data/lib/embulk/data/new/java/input.java.erb +87 -0
- data/lib/embulk/data/new/java/output.java.erb +77 -0
- data/lib/embulk/data/new/java/parser.java.erb +60 -0
- data/lib/embulk/data/new/java/plugin_loader.rb.erb +3 -0
- data/lib/embulk/data/new/java/test.java.erb +5 -0
- data/lib/embulk/data/new/ruby/.ruby-version +1 -0
- data/lib/embulk/data/new/ruby/Gemfile +2 -0
- data/lib/embulk/data/new/ruby/Rakefile +3 -0
- data/lib/embulk/data/new/ruby/decoder_guess.rb.erb +25 -0
- data/lib/embulk/data/new/ruby/filter.rb.erb +41 -0
- data/lib/embulk/data/new/ruby/formatter.rb.erb +49 -0
- data/lib/embulk/data/new/ruby/gemspec.erb +20 -0
- data/lib/embulk/data/new/ruby/input.rb.erb +59 -0
- data/lib/embulk/data/new/ruby/output.rb.erb +61 -0
- data/lib/embulk/data/new/ruby/parser.rb.erb +44 -0
- data/lib/embulk/data/new/ruby/parser_guess.rb.erb +65 -0
- data/lib/embulk/data/package_data.rb +50 -0
- data/lib/embulk/data_source.rb +220 -0
- data/lib/embulk/decoder_plugin.rb +27 -0
- data/lib/embulk/encoder_plugin.rb +27 -0
- data/lib/embulk/error.rb +8 -0
- data/lib/embulk/executor_plugin.rb +23 -0
- data/lib/embulk/file_input.rb +87 -0
- data/lib/embulk/file_input_plugin.rb +27 -0
- data/lib/embulk/file_output.rb +56 -0
- data/lib/embulk/file_output_plugin.rb +27 -0
- data/lib/embulk/filter_plugin.rb +105 -0
- data/lib/embulk/formatter_plugin.rb +105 -0
- data/lib/embulk/guess/charset.rb +44 -0
- data/lib/embulk/guess/csv.rb +327 -0
- data/lib/embulk/guess/gzip.rb +18 -0
- data/lib/embulk/guess/newline.rb +22 -0
- data/lib/embulk/guess/schema_guess.rb +118 -0
- data/lib/embulk/guess/time_format_guess.rb +394 -0
- data/lib/embulk/guess_plugin.rb +129 -0
- data/lib/embulk/input_plugin.rb +121 -0
- data/lib/embulk/java/bootstrap.rb +24 -0
- data/lib/embulk/java/imports.rb +69 -0
- data/lib/embulk/java/time_helper.rb +79 -0
- data/lib/embulk/java_plugin.rb +90 -0
- data/lib/embulk/logger.rb +154 -0
- data/lib/embulk/output_plugin.rb +150 -0
- data/lib/embulk/page.rb +30 -0
- data/lib/embulk/page_builder.rb +76 -0
- data/lib/embulk/parser_plugin.rb +78 -0
- data/lib/embulk/plugin.rb +239 -0
- data/lib/embulk/plugin_registry.rb +96 -0
- data/lib/embulk/runner.rb +184 -0
- data/lib/embulk/schema.rb +103 -0
- data/lib/embulk/version.rb +3 -0
- data/settings.gradle +6 -0
- data/test/guess/test_schema_guess.rb +11 -0
- data/test/guess/test_time_format_guess.rb +133 -0
- data/test/helper.rb +21 -0
- data/test/run-test.rb +14 -0
- metadata +566 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
Scheduled bulk data loading to Elasticsearch + Kibana 4 from CSV files
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
.. contents::
|
|
5
|
+
:local:
|
|
6
|
+
:depth: 2
|
|
7
|
+
|
|
8
|
+
This article shows how to:
|
|
9
|
+
|
|
10
|
+
* Bulk load CSV files to Elasticsearch.
|
|
11
|
+
* Visualize the data with Kibana interactively.
|
|
12
|
+
* Schedule the data loading every hour using cron.
|
|
13
|
+
|
|
14
|
+
This guide assumes you are using Ubuntu 12.04 Precise or Mac OS X.
|
|
15
|
+
|
|
16
|
+
Setup Elasticsearch and Kibana 4
|
|
17
|
+
------------------
|
|
18
|
+
|
|
19
|
+
Step 1. Download and start Elasticsearch.
|
|
20
|
+
~~~~~~~~~~~~~~~~~~
|
|
21
|
+
|
|
22
|
+
You can find releases from the `Elasticsearch website <http://www.elasticsearch.org/download/>`_.
|
|
23
|
+
For the smallest setup, you can unzip the package and run `./bin/elasticsearch` command:
|
|
24
|
+
|
|
25
|
+
.. code-block:: console
|
|
26
|
+
|
|
27
|
+
$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.zip
|
|
28
|
+
$ unzip elasticsearch-1.4.4.zip
|
|
29
|
+
$ cd elasticsearch-1.4.4
|
|
30
|
+
$ ./bin/elasticsearch
|
|
31
|
+
|
|
32
|
+
Step 2. Download and unzip Kibana:
|
|
33
|
+
~~~~~~~~~~~~~~~~~~
|
|
34
|
+
|
|
35
|
+
You can find releases from the `Kibana website <http://www.elasticsearch.org/overview/kibana/installation/>`_. Open a new console and run following commands:
|
|
36
|
+
|
|
37
|
+
.. code-block:: console
|
|
38
|
+
|
|
39
|
+
$ wget https://download.elasticsearch.org/kibana/kibana/kibana-4.0.0-linux-x64.tar.gz
|
|
40
|
+
$ tar zxvf kibana-4.0.0-linux-x64.tar.gz
|
|
41
|
+
$ cd kibana-4.0.0-linux-x64
|
|
42
|
+
$ ./bin/kibana
|
|
43
|
+
|
|
44
|
+
Note: If you're using Mac OS X, https://download.elasticsearch.org/kibana/kibana/kibana-4.0.0-darwin-x64.tar.gz is the URL to download.
|
|
45
|
+
|
|
46
|
+
Now Elasticsearch and Kibana started. Open http://localhost:5601/ using your browser to see the Kibana's graphical interface.
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
Setup Embulk
|
|
50
|
+
------------------
|
|
51
|
+
|
|
52
|
+
Step 1. Download Embulk binary:
|
|
53
|
+
~~~~~~~~~~~~~~~~~~
|
|
54
|
+
|
|
55
|
+
You can find the latest embulk binary from the `releases <https://bintray.com/embulk/maven/embulk/view#files>`_. Because Embulk is a single executable binary, you can simply download it to /usr/local/bin directory and set executable flag as following:
|
|
56
|
+
|
|
57
|
+
.. code-block:: console
|
|
58
|
+
|
|
59
|
+
$ sudo wget http://dl.embulk.org/embulk-latest.jar -O /usr/local/bin/embulk
|
|
60
|
+
$ sudo chmod +x /usr/local/bin/embulk
|
|
61
|
+
|
|
62
|
+
Step 2. Install Elasticsearch plugin
|
|
63
|
+
~~~~~~~~~~~~~~~~~~
|
|
64
|
+
|
|
65
|
+
You also need Elasticsearch plugin for Embulk. You can install the plugin with this command:
|
|
66
|
+
|
|
67
|
+
.. code-block:: console
|
|
68
|
+
|
|
69
|
+
$ embulk gem install embulk-output-elasticsearch
|
|
70
|
+
|
|
71
|
+
Embulk includes CSV file reader in itself. Now everything is ready to use.
|
|
72
|
+
|
|
73
|
+
Loading a CSV file
|
|
74
|
+
------------------
|
|
75
|
+
|
|
76
|
+
Assuming you have a CSV files at ``./mydata/csv/`` directory. If you don't have CSV files, you can create ones using ``embulk example ./mydata`` command.
|
|
77
|
+
|
|
78
|
+
Create this configuration file and save as ``config.yml``:
|
|
79
|
+
|
|
80
|
+
.. code-block:: yaml
|
|
81
|
+
|
|
82
|
+
in:
|
|
83
|
+
type: file
|
|
84
|
+
path_prefix: ./mydata/csv/
|
|
85
|
+
out:
|
|
86
|
+
type: elasticsearch
|
|
87
|
+
index: embulk
|
|
88
|
+
index_type: embulk
|
|
89
|
+
nodes:
|
|
90
|
+
- host: localhost
|
|
91
|
+
|
|
92
|
+
In fact, this configuration lacks some important information. However, embulk guesses the other information. So, next step is to order embulk to guess them:
|
|
93
|
+
|
|
94
|
+
.. code-block:: console
|
|
95
|
+
|
|
96
|
+
$ embulk guess config.yml -o config-complete.yml
|
|
97
|
+
|
|
98
|
+
The generated config-complete.yml file should include complete information as following:
|
|
99
|
+
|
|
100
|
+
.. code-block:: yaml
|
|
101
|
+
|
|
102
|
+
in:
|
|
103
|
+
type: file
|
|
104
|
+
path_prefix: ./mydata/csv/
|
|
105
|
+
decoders:
|
|
106
|
+
- {type: gzip}
|
|
107
|
+
parser:
|
|
108
|
+
charset: UTF-8
|
|
109
|
+
newline: CRLF
|
|
110
|
+
type: csv
|
|
111
|
+
delimiter: ','
|
|
112
|
+
quote: '"'
|
|
113
|
+
escape: ''
|
|
114
|
+
null_string: 'NULL'
|
|
115
|
+
skip_header_lines: 1
|
|
116
|
+
columns:
|
|
117
|
+
- {name: id, type: long}
|
|
118
|
+
- {name: account, type: long}
|
|
119
|
+
- {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'}
|
|
120
|
+
- {name: purchase, type: timestamp, format: '%Y%m%d'}
|
|
121
|
+
- {name: comment, type: string}
|
|
122
|
+
out:
|
|
123
|
+
type: elasticsearch
|
|
124
|
+
index: embulk
|
|
125
|
+
index_type: embulk
|
|
126
|
+
nodes:
|
|
127
|
+
- {host: localhost}
|
|
128
|
+
|
|
129
|
+
Now, you can run the bulk loading:
|
|
130
|
+
|
|
131
|
+
.. code-block:: console
|
|
132
|
+
|
|
133
|
+
$ embulk run config-complete.yml -o next-config.yml
|
|
134
|
+
|
|
135
|
+
Scheduling loading by cron
|
|
136
|
+
------------------
|
|
137
|
+
|
|
138
|
+
At the last step, you ran embulk command with ``-o next-config.yml`` file. The ``next-config.yml`` file should include a parameter named ``last_path``:
|
|
139
|
+
|
|
140
|
+
.. code-block:: yaml
|
|
141
|
+
|
|
142
|
+
last_path: mydata/csv/sample_01.csv.gz
|
|
143
|
+
|
|
144
|
+
With this configuration, embulk loads the files newer than this file in alphabetical order.
|
|
145
|
+
|
|
146
|
+
For example, if you create ``./mydata/csv/sample_02.csv.gz`` file, embulk skips ``sample_01.csv.gz`` file and loads ``sample_02.csv.gz`` only next time. And the next next-config.yml file has ``last_path: mydata/csv/sample_02.csv.gz`` for the next next execution.
|
|
147
|
+
|
|
148
|
+
So, if you want to loads newly created files every day, you can setup this cron schedule:
|
|
149
|
+
|
|
150
|
+
.. code-block:: cron
|
|
151
|
+
|
|
152
|
+
0 * * * * embulk run /path/to/next-config.yml -o /path/to/next-config.yml
|
|
153
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
Release Notes
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
.. toctree::
|
|
5
|
+
:maxdepth: 1
|
|
6
|
+
|
|
7
|
+
release/release-0.7.0
|
|
8
|
+
release/release-0.6.25
|
|
9
|
+
release/release-0.6.24
|
|
10
|
+
release/release-0.6.23
|
|
11
|
+
release/release-0.6.22
|
|
12
|
+
release/release-0.6.21
|
|
13
|
+
release/release-0.6.20
|
|
14
|
+
release/release-0.6.19
|
|
15
|
+
release/release-0.6.18
|
|
16
|
+
release/release-0.6.17
|
|
17
|
+
release/release-0.6.16
|
|
18
|
+
release/release-0.6.15
|
|
19
|
+
release/release-0.6.14
|
|
20
|
+
release/release-0.6.13
|
|
21
|
+
release/release-0.6.12
|
|
22
|
+
release/release-0.6.11
|
|
23
|
+
release/release-0.6.10
|
|
24
|
+
release/release-0.6.9
|
|
25
|
+
release/release-0.6.8
|
|
26
|
+
release/release-0.6.7
|
|
27
|
+
release/release-0.6.6
|
|
28
|
+
release/release-0.6.5
|
|
29
|
+
release/release-0.6.4
|
|
30
|
+
release/release-0.6.3
|
|
31
|
+
release/release-0.6.2
|
|
32
|
+
release/release-0.6.1
|
|
33
|
+
release/release-0.6.0
|
|
34
|
+
release/release-0.5.5
|
|
35
|
+
release/release-0.5.4
|
|
36
|
+
release/release-0.5.3
|
|
37
|
+
release/release-0.5.2
|
|
38
|
+
release/release-0.5.1
|
|
39
|
+
release/release-0.5.0
|
|
40
|
+
release/release-0.4.10
|
|
41
|
+
release/release-0.4.9
|
|
42
|
+
release/release-0.4.8
|
|
43
|
+
release/release-0.4.7
|
|
44
|
+
release/release-0.4.6
|
|
45
|
+
release/release-0.4.5
|
|
46
|
+
release/release-0.4.4
|
|
47
|
+
release/release-0.4.3
|
|
48
|
+
release/release-0.4.2
|
|
49
|
+
release/release-0.4.1
|
|
50
|
+
release/release-0.4.0
|
|
51
|
+
release/release-0.3.2
|
|
52
|
+
release/release-0.3.1
|
|
53
|
+
release/release-0.3.0
|
|
54
|
+
release/release-0.2.1
|
|
55
|
+
release/release-0.2.0
|
|
56
|
+
release/release-0.1.0
|
|
57
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Release 0.2.0
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
Plugin API
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* Changed JRuby InputPlugin API to use #run instead of .run
|
|
8
|
+
|
|
9
|
+
CLI
|
|
10
|
+
------------------
|
|
11
|
+
|
|
12
|
+
* Fixed ``example`` subcommand to quote file path for Windows environment
|
|
13
|
+
|
|
14
|
+
Release Date
|
|
15
|
+
------------------
|
|
16
|
+
2015-01-26
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Release 0.2.1
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
Plugin Utility
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* Fixed ``spi.util.LineEncoder#finish`` to flush all remaining buffer (reported by @aibou)
|
|
8
|
+
* ``Embulk::PageBuilder#add`` accepts nil value
|
|
9
|
+
|
|
10
|
+
General Changes
|
|
11
|
+
------------------
|
|
12
|
+
|
|
13
|
+
* Fixed NextConfig to be merged to in: or out: rather than the top-level
|
|
14
|
+
(reported by enukane) [#41]
|
|
15
|
+
* ./bin/embulk shows warns to run `rake` if ./classpath doesn't exist
|
|
16
|
+
|
|
17
|
+
Release Date
|
|
18
|
+
------------------
|
|
19
|
+
2015-01-29
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
Release 0.3.0
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
Resume Feature
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* Added resume functionality.
|
|
8
|
+
|
|
9
|
+
Filter Feature
|
|
10
|
+
------------------
|
|
11
|
+
|
|
12
|
+
* Added new filter plugin type.
|
|
13
|
+
|
|
14
|
+
Plugin SPI
|
|
15
|
+
------------------
|
|
16
|
+
|
|
17
|
+
* ``spi.InputPlugin`` and ``spi.OutputPlugin`` need to implement ``resume`` and ``cleanup`` methods.
|
|
18
|
+
* Added ``spi.FilterInputPlugin`` Java API.
|
|
19
|
+
* Added ``Embulk::FilterInputPlugin`` JRuby API.
|
|
20
|
+
|
|
21
|
+
CLI
|
|
22
|
+
------------------
|
|
23
|
+
|
|
24
|
+
* ``run`` subcommand supports ``-r, --resume-state PATH`` option.
|
|
25
|
+
|
|
26
|
+
General Changes
|
|
27
|
+
------------------
|
|
28
|
+
|
|
29
|
+
* Added gradle-versions-plugin to build.gradle (@seratch++)
|
|
30
|
+
* Fixed broken dependencies at build.gradle (@thagikura++)
|
|
31
|
+
|
|
32
|
+
Release Date
|
|
33
|
+
------------------
|
|
34
|
+
2015-02-03
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Release 0.3.2
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
General Changes
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* Fixed a problem where ruby input plugins can't use timestamp type (reported
|
|
8
|
+
by @shun0102)
|
|
9
|
+
* ``Embulk::Page`` includes Enumerable to include map, each_with_index, and other
|
|
10
|
+
a lot of convenient methods (@niku++)
|
|
11
|
+
* Fixed ``spi.time.TimestampType::DEFAULT_FORMAT`` to use ':' as the separator of times
|
|
12
|
+
|
|
13
|
+
Release Date
|
|
14
|
+
------------------
|
|
15
|
+
2015-02-04
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
Release 0.4.0
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
Plugin Template Generator
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
A new CLI subcommand ``new`` generate a plugin template.
|
|
8
|
+
|
|
9
|
+
For example, ``new ruby-output <name>`` generates a template of output plugin written in Ruby::
|
|
10
|
+
|
|
11
|
+
$ embulk new ruby-output foo
|
|
12
|
+
Creating embulk-output-foo/
|
|
13
|
+
Creating embulk-output-foo/README.md
|
|
14
|
+
Creating embulk-output-foo/LICENSE.txt
|
|
15
|
+
Creating embulk-output-foo/.gitignore
|
|
16
|
+
Creating embulk-output-foo/Rakefile
|
|
17
|
+
Creating embulk-output-foo/Gemfile
|
|
18
|
+
Creating embulk-output-foo/embulk-output-foo.gemspec
|
|
19
|
+
Creating embulk-output-foo/lib/embulk/output/foo.rb
|
|
20
|
+
|
|
21
|
+
The template generate supports most of plugin types. ruby-file-input and output, ruby-parser and formatter, ruby-decoder and encoder are not available yet because plugin SPI is not implemented yet.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
Java Plugin Loader
|
|
25
|
+
------------------
|
|
26
|
+
|
|
27
|
+
Now, we can write plugins in Java.
|
|
28
|
+
|
|
29
|
+
The plugin loader creates a dedicated classloader for each plugin so that plugins can depend on different versions of libraries. To develop a Java plugin, you can use use ``new java-<category> <name>`` command which generates a template. The generated directory has ``build.gradle`` file so that you can run ``./gradlew gem`` command to build a gem package.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Plugin SPI
|
|
33
|
+
------------------
|
|
34
|
+
|
|
35
|
+
* **IMPORTANT**: Changed plugin path name from ``lib/embulk/<caetgory>_<name>.rb`` to ``lib/embulk/<category>/<name>.rb``.
|
|
36
|
+
* Added ``@ConfigInject`` annotation to set resources injected by Guice to a Task.
|
|
37
|
+
* Removed support for ``@JacksonInject`` annotation on a Task. ``@ConfigInject`` is the drop-in replacement.
|
|
38
|
+
* Changed class name ``spi.NextConfig`` to ``spi.ConfigDiff``.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
Built-in plugins
|
|
43
|
+
------------------
|
|
44
|
+
|
|
45
|
+
* ``csv`` parser plugin and its guess plugin assume "true", "yes", "Y" and "on" as a boolean true value.
|
|
46
|
+
|
|
47
|
+
* ``file`` input plugin changed parameters.
|
|
48
|
+
|
|
49
|
+
* Added ``path_prefix`` parameter (string, required).
|
|
50
|
+
* Added ``last_path`` parameter (string, optional) which skips files older than or same with the specified file path.
|
|
51
|
+
* Removed ``paths`` parameter.
|
|
52
|
+
|
|
53
|
+
* ``file`` output plugin changed parameters.
|
|
54
|
+
|
|
55
|
+
* Added ``sequence_format`` parameter.
|
|
56
|
+
* Removed ``directory`` parameters.
|
|
57
|
+
* Removed ``file_name`` parameters.
|
|
58
|
+
* The actual file name is ``${path_prefix}${sequence_format % [processorIndex, sequenceNumber}${ext_name}``.
|
|
59
|
+
|
|
60
|
+
* Removed ``s3`` file input plugin. It is now embulk-input-s3 gem.
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
General Changes
|
|
64
|
+
------------------
|
|
65
|
+
|
|
66
|
+
* PluginManager reports the cause of exceptions when it failed to load a plugin.
|
|
67
|
+
* Removed pom.xml.
|
|
68
|
+
* Set locale = 'en_US' when gradle builds javadoc.
|
|
69
|
+
* Added documentation scripts using Sphinx, YARD and JavaDoc.
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
Release Date
|
|
73
|
+
------------------
|
|
74
|
+
2015-02-15
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Release 0.4.1
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
CLI
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* ``--version`` exists with code=0 (@yuskesh++)
|
|
8
|
+
|
|
9
|
+
General Changes
|
|
10
|
+
------------------
|
|
11
|
+
|
|
12
|
+
* Fixed a build script problem where it uploads corrupted CLI jar file
|
|
13
|
+
* Updated document build script to not depend on externally installed "yardoc" command
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
Release Date
|
|
17
|
+
------------------
|
|
18
|
+
2015-02-16
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Release 0.4.10
|
|
2
|
+
==================================
|
|
3
|
+
|
|
4
|
+
Plugin API Changes
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* Classloader of Java-based plugins search classes from the embulk's classloader by default. This solves mismatches of the same class loaded by 2 classloaders.
|
|
8
|
+
* Added ``spi.PluginClassLoader.addPath(Path)`` method so that Java-based plugins can load jar files dynamically.
|
|
9
|
+
|
|
10
|
+
General Changes
|
|
11
|
+
------------------
|
|
12
|
+
|
|
13
|
+
* Rakefile generated by plugin template generator has default task aliased to ``build`` task (@takei-yuya++)
|
|
14
|
+
|
|
15
|
+
Release Date
|
|
16
|
+
------------------
|
|
17
|
+
2015-02-26
|