Skip to content

Release/2.2.3 #270

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Sep 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
Version 2.2.3 (2022-09-27)
--------------------------
Fix: loader cannot start with InitialPosition = AT_TIMESTAMP (#267)
Bump scala version to 2.13.9 (#270)

Version 2.2.2 (2022-07-21)
--------------------------
Ensure docker image has latest libfreetype6 version (#265)
Expand Down
77 changes: 4 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,75 +22,6 @@ The compression process generates both compressed .lzo files and small .lzo.inde

The records are treated as byte arrays containing UTF-8 encoded strings (whether CSV, JSON or TSV). New lines are used to separate records written to a file. This format can be used with the Snowplow Kinesis Enriched stream, among other streams.

## Quickstart

#### Docker

We publish three flavours of the docker image:
- Pull the `:2.2.1` tag if you only need GZip output format
- Pull the `:2.2.1-lzo` tag if you also need LZO output format
- Pull the `:2.2.1-distroless` tag for an lightweight alternative to `:2.2.1`


```bash
docker run snowplow/snowplow-s3-loader:2.2.1 --help
docker run snowplow/snowplow-s3-loader:2.2.1-lzo --help
docker run snowplow/snowplow-s3-loader:2.2.1-distroless --help
```

#### Download jar

```bash
curl -Lo snowplow-s3-loader.jar https://github.com/snowplow/snowplow-s3-loader/releases/download/2.2.1/snowplow-s3-loader-2.2.1.jar
java -jar snowplow-s3-loader.jar --help
```

#### Build it yourself

Assuming git and [SBT][sbt] installed:

```bash
$ git clone https://github.com/snowplow/snowplow-s3-loader.git
$ cd snowplow-s3-loader
$ sbt assembly
```

## Prerequisites

You must have `lzop` and `lzop-dev` installed. In Ubuntu, install them like this:

```bash
$ sudo apt-get install lzop liblzo2-dev
```

## Command Line Interface

The Snowplow S3 Loader has the following command-line interface:

```
snowplow-s3-loader: Version 2.2.1

Usage: snowplow-s3-loader [options]

--config <filename>
```

## Running

Create your own config file:

```bash
$ cp config/config.hocon.sample my.conf
```

You will need to edit all fields in the config. Consult [the configuration reference][config] of the setup guide on how to fill in the fields.

Next, start the sink, making sure to specify your new config file:

```bash
$ java -jar snowplow-s3-loader-2.2.1.jar --config my.conf
```

## Find out more

| Technical Docs | Setup Guide | Roadmap | Contributing |
Expand All @@ -114,7 +45,7 @@ limitations under the License.
[travis-image]: https://travis-ci.org/snowplow/snowplow-s3-loader.png?branch=master
[travis]: http://travis-ci.org/snowplow/snowplow-s3-loader

[release-image]: http://img.shields.io/badge/release-2.2.1-blue.svg?style=flat
[release-image]: http://img.shields.io/badge/release-2.2.3-blue.svg?style=flat
[releases]: https://github.com/snowplow/snowplow-s3-loader/releases

[license-image]: http://img.shields.io/badge/license-Apache--2-blue.svg?style=flat
Expand All @@ -128,10 +59,10 @@ limitations under the License.
[s3]: http://aws.amazon.com/s3/
[sbt]:https://www.scala-sbt.org/

[config]: https://docs.snowplowanalytics.com/docs/pipeline-components-and-applications/loaders-storage-targets/s3-loader/configuration-reference/
[techdocs]: https://docs.snowplowanalytics.com/docs/pipeline-components-and-applications/loaders-storage-targets/s3-loader/
[config]: https://docs.snowplow.io/docs/pipeline-components-and-applications/loaders-storage-targets/s3-loader/configuration-reference/
[techdocs]: https://docs.snowplow.io/docs/pipeline-components-and-applications/loaders-storage-targets/s3-loader/
[roadmap]: https://github.com/snowplow/snowplow/projects/7
[contributing]: https://docs.snowplowanalytics.com/docs/contributing/
[contributing]: https://docs.snowplow.io/docs/contributing/

[techdocs-image]: https://d3i6fms1cm1j0i.cloudfront.net/github/images/techdocs.png
[setup-image]: https://d3i6fms1cm1j0i.cloudfront.net/github/images/setup.png
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import com.amazonaws.services.kinesis.clientlibrary.lib.worker.SimpleRecordsFetc

// AWS Client Library
import com.amazonaws.ClientConfiguration
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.{KinesisClientLibConfiguration, Worker}
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.{InitialPositionInStream, KinesisClientLibConfiguration, Worker}
import com.amazonaws.services.kinesis.metrics.impl.NullMetricsFactory
import com.amazonaws.services.kinesis.metrics.interfaces.IMetricsFactory

Expand Down Expand Up @@ -65,7 +65,7 @@ class KinesisSourceExecutor(region: Option[String],
kcc.KINESIS_INPUT_STREAM,
kcc.KINESIS_ENDPOINT,
null,
kcc.INITIAL_POSITION_IN_STREAM,
InitialPositionInStream.LATEST, // adjust this after the constructor
kcc.AWS_CREDENTIALS_PROVIDER,
kcc.AWS_CREDENTIALS_PROVIDER,
kcc.AWS_CREDENTIALS_PROVIDER,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ class GZipSerializerSpec extends Specification {
cleanup()

val binaryInputs = List(
List("A", "B", 1000, "a", "b").mkString("\t").getBytes.asRight,
List("X", "Y", 2000, "x", "y").mkString("\t").getBytes.asRight
(List("A", "B", 1000, "a", "b"):List[Any]).mkString("\t").getBytes.asRight,
(List("X", "Y", 2000, "x", "y"):List[Any]).mkString("\t").getBytes.asRight
)

val serializationResult =
Expand Down
2 changes: 1 addition & 1 deletion project/BuildSettings.scala
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ object BuildSettings {
// Basic settings for our app
lazy val basicSettings = Seq(
organization := "com.snowplowanalytics",
scalaVersion := "2.13.6",
scalaVersion := "2.13.9",
description := "Load the contents of a Kinesis stream topic to S3",
resolvers ++= Dependencies.resolvers,
ThisBuild / dynverVTagPrefix := false,
Expand Down