gitextract_hqj_qnqk/ ├── .github/ │ └── workflows/ │ ├── build.yml │ ├── cache.yml │ ├── early-access.yml │ ├── publish.yml │ ├── release.yml │ ├── step-jlink.yml │ ├── step-precheck.yml │ └── trigger-early-access.yml ├── .gitignore ├── LICENSE ├── README.adoc ├── VERSION ├── build.gradle ├── core/ │ ├── riot-core/ │ │ ├── gradle.properties │ │ ├── riot-core.gradle │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── redis/ │ │ │ │ └── riot/ │ │ │ │ └── core/ │ │ │ │ ├── AbstractCallableCommand.java │ │ │ │ ├── AbstractJobCommand.java │ │ │ │ ├── BaseCommand.java │ │ │ │ ├── CompositeExecutionStrategy.java │ │ │ │ ├── Expression.java │ │ │ │ ├── IO.java │ │ │ │ ├── LoggingMixin.java │ │ │ │ ├── MainCommand.java │ │ │ │ ├── NoopItemWriter.java │ │ │ │ ├── PrintExceptionMessageHandler.java │ │ │ │ ├── ProcessingItemWriter.java │ │ │ │ ├── ProgressArgs.java │ │ │ │ ├── ProgressStepExecutionListener.java │ │ │ │ ├── ProgressStyle.java │ │ │ │ ├── QuietMapAccessor.java │ │ │ │ ├── RetryPolicy.java │ │ │ │ ├── RiotDuration.java │ │ │ │ ├── RiotException.java │ │ │ │ ├── RiotUtils.java │ │ │ │ ├── RiotVersion.java │ │ │ │ ├── SkipPolicy.java │ │ │ │ ├── Step.java │ │ │ │ ├── StepArgs.java │ │ │ │ ├── StepConfiguration.java │ │ │ │ ├── TemplateExpression.java │ │ │ │ ├── ThrottledItemWriter.java │ │ │ │ └── processor/ │ │ │ │ ├── CollectionToMapFunction.java │ │ │ │ ├── ConsumerUnaryOperator.java │ │ │ │ ├── FieldExtractorFactory.java │ │ │ │ ├── FunctionPredicate.java │ │ │ │ ├── IdFunctionBuilder.java │ │ │ │ ├── MapFilteringFunction.java │ │ │ │ ├── MapFlatteningFunction.java │ │ │ │ ├── ObjectToDoubleFunction.java │ │ │ │ ├── ObjectToLongFunction.java │ │ │ │ ├── ObjectToStringFunction.java │ │ │ │ ├── PredicateOperator.java │ │ │ │ ├── RegexNamedGroupFunction.java │ │ │ │ └── StringToMapFunction.java │ │ │ └── resources/ │ │ │ └── com/ │ │ │ └── redis/ │ │ │ └── riot/ │ │ │ └── core/ │ │ │ └── RiotVersion.properties │ │ └── test/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── redis/ │ │ │ └── riot/ │ │ │ └── core/ │ │ │ └── ConverterTests.java │ │ └── resources/ │ │ ├── beers1.csv │ │ └── beers2.csv │ ├── riot-faker/ │ │ ├── gradle.properties │ │ ├── riot-faker.gradle │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── redis/ │ │ │ └── riot/ │ │ │ └── faker/ │ │ │ └── FakerItemReader.java │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── redis/ │ │ └── riot/ │ │ └── faker/ │ │ └── FakerReaderTests.java │ ├── riot-file/ │ │ ├── gradle.properties │ │ ├── riot-file.gradle │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── redis/ │ │ │ └── riot/ │ │ │ └── file/ │ │ │ ├── AbstractReaderFactory.java │ │ │ ├── AbstractWriterFactory.java │ │ │ ├── DelimitedReaderFactory.java │ │ │ ├── DelimitedWriterFactory.java │ │ │ ├── FileOptions.java │ │ │ ├── FileReaderRegistry.java │ │ │ ├── FileReaderResult.java │ │ │ ├── FileWriterRegistry.java │ │ │ ├── FileWriterResult.java │ │ │ ├── FixedWidthReaderFactory.java │ │ │ ├── FormattedWriterFactory.java │ │ │ ├── GoogleStorageOptions.java │ │ │ ├── GoogleStorageProtocolResolver.java │ │ │ ├── HeaderCallbackHandler.java │ │ │ ├── JsonLineAggregator.java │ │ │ ├── JsonLinesReaderFactory.java │ │ │ ├── JsonLinesWriterFactory.java │ │ │ ├── JsonReaderFactory.java │ │ │ ├── JsonWriterFactory.java │ │ │ ├── MapFieldSetMapper.java │ │ │ ├── NamedInputStreamResource.java │ │ │ ├── ObjectMapperLineMapper.java │ │ │ ├── OutputStreamResource.java │ │ │ ├── ReadOptions.java │ │ │ ├── ReaderFactory.java │ │ │ ├── ResourceFactory.java │ │ │ ├── ResourceMap.java │ │ │ ├── RiotResourceLoader.java │ │ │ ├── RiotResourceMap.java │ │ │ ├── RuntimeIOException.java │ │ │ ├── S3Options.java │ │ │ ├── S3ProtocolResolver.java │ │ │ ├── StdInProtocolResolver.java │ │ │ ├── StdOutProtocolResolver.java │ │ │ ├── SystemInResource.java │ │ │ ├── SystemOutResource.java │ │ │ ├── UncustomizedUrlResource.java │ │ │ ├── WriteOptions.java │ │ │ ├── WriterFactory.java │ │ │ ├── XmlReaderFactory.java │ │ │ ├── XmlWriterFactory.java │ │ │ └── xml/ │ │ │ ├── XmlItemReader.java │ │ │ ├── XmlItemReaderBuilder.java │ │ │ ├── XmlObjectReader.java │ │ │ ├── XmlResourceItemWriter.java │ │ │ └── XmlResourceItemWriterBuilder.java │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── redis/ │ │ └── riot/ │ │ └── file/ │ │ └── ReaderTests.java │ └── riot-test/ │ ├── gradle.properties │ ├── riot-test.gradle │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── redis/ │ └── riot/ │ └── test/ │ └── AbstractRiotTestBase.java ├── docs/ │ ├── LICENSE │ └── guide/ │ ├── gradle.properties │ ├── guide.gradle │ └── src/ │ └── docs/ │ ├── asciidoc/ │ │ ├── _links.adoc │ │ ├── changelog.adoc │ │ ├── concepts.adoc │ │ ├── cookbook.adoc │ │ ├── databases.adoc │ │ ├── datagen.adoc │ │ ├── elasticache.adoc │ │ ├── export.adoc │ │ ├── faq.adoc │ │ ├── files.adoc │ │ ├── import.adoc │ │ ├── index.adoc │ │ ├── install.adoc │ │ ├── introduction.adoc │ │ ├── ping.adoc │ │ ├── replication.adoc │ │ └── usage.adoc │ └── resources/ │ ├── images/ │ │ └── Diagrams.drawio │ ├── order.json │ └── redis-dump.json ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── jreleaser.yml ├── plugins/ │ ├── LICENSE │ └── riot/ │ ├── gradle.properties │ ├── riot.gradle │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── redis/ │ │ │ └── riot/ │ │ │ ├── AbstractCompareCommand.java │ │ │ ├── AbstractExportCommand.java │ │ │ ├── AbstractFileExport.java │ │ │ ├── AbstractFileImport.java │ │ │ ├── AbstractImportCommand.java │ │ │ ├── AbstractRedisCommand.java │ │ │ ├── AbstractRedisExportCommand.java │ │ │ ├── AbstractRedisImportCommand.java │ │ │ ├── AbstractRedisTargetExportCommand.java │ │ │ ├── Compare.java │ │ │ ├── CompareLoggingWriteListener.java │ │ │ ├── CompareMode.java │ │ │ ├── CompareStepListener.java │ │ │ ├── ContentType.java │ │ │ ├── DataSourceArgs.java │ │ │ ├── DatabaseExport.java │ │ │ ├── DatabaseImport.java │ │ │ ├── DatabaseReaderArgs.java │ │ │ ├── EvaluationContextArgs.java │ │ │ ├── ExportStepHelper.java │ │ │ ├── ExpressionProcessor.java │ │ │ ├── FakerImport.java │ │ │ ├── FileArgs.java │ │ │ ├── FileExport.java │ │ │ ├── FileImport.java │ │ │ ├── FileReaderArgs.java │ │ │ ├── FileTypeArgs.java │ │ │ ├── FileWriterArgs.java │ │ │ ├── Generate.java │ │ │ ├── GenerateArgs.java │ │ │ ├── GoogleStorageArgs.java │ │ │ ├── ImportProcessorArgs.java │ │ │ ├── JdbcCursorItemReaderFactory.java │ │ │ ├── KeyFilterArgs.java │ │ │ ├── KeyValueDeserializer.java │ │ │ ├── KeyValueFilter.java │ │ │ ├── KeyValueProcessorArgs.java │ │ │ ├── MemoryUsageArgs.java │ │ │ ├── Ping.java │ │ │ ├── PingExecution.java │ │ │ ├── PingExecutionItemReader.java │ │ │ ├── RangeConverter.java │ │ │ ├── ReadFrom.java │ │ │ ├── RedisArgs.java │ │ │ ├── RedisClientArgs.java │ │ │ ├── RedisContext.java │ │ │ ├── RedisReaderArgs.java │ │ │ ├── RedisReaderLiveArgs.java │ │ │ ├── RedisURIConverter.java │ │ │ ├── RedisWriterArgs.java │ │ │ ├── Replicate.java │ │ │ ├── ReplicateReadLogger.java │ │ │ ├── ReplicateWriteLogger.java │ │ │ ├── Riot.java │ │ │ ├── RiotMainCommand.java │ │ │ ├── S3Args.java │ │ │ ├── SourceRedisArgs.java │ │ │ ├── TargetRedisArgs.java │ │ │ ├── ToMapFunction.java │ │ │ ├── Versions.java │ │ │ ├── function/ │ │ │ │ ├── HashToMapFunction.java │ │ │ │ ├── KeyValueMap.java │ │ │ │ ├── MapToFieldFunction.java │ │ │ │ ├── ObjectMapperFunction.java │ │ │ │ ├── StreamItemProcessor.java │ │ │ │ ├── StreamToMapFunction.java │ │ │ │ ├── StringKeyValue.java │ │ │ │ ├── TimeSeriesToMapFunction.java │ │ │ │ ├── ToGeoValue.java │ │ │ │ ├── ToSample.java │ │ │ │ ├── ToScoredValue.java │ │ │ │ ├── ToStringKeyValue.java │ │ │ │ ├── ToSuggestion.java │ │ │ │ └── ZsetToMapFunction.java │ │ │ └── operation/ │ │ │ ├── AbstractMemberOperationCommand.java │ │ │ ├── AbstractOperationCommand.java │ │ │ ├── DelCommand.java │ │ │ ├── ExpireCommand.java │ │ │ ├── ExpireTtlArgs.java │ │ │ ├── FieldFilterArgs.java │ │ │ ├── GeoaddCommand.java │ │ │ ├── HsetCommand.java │ │ │ ├── JsonSetCommand.java │ │ │ ├── LpushCommand.java │ │ │ ├── MemberOperationArgs.java │ │ │ ├── OperationCommand.java │ │ │ ├── RpushCommand.java │ │ │ ├── SaddCommand.java │ │ │ ├── ScoreArgs.java │ │ │ ├── SetCommand.java │ │ │ ├── SugaddCommand.java │ │ │ ├── TsAddCommand.java │ │ │ ├── XaddCommand.java │ │ │ └── ZaddCommand.java │ │ └── resources/ │ │ └── com/ │ │ └── redis/ │ │ └── riot/ │ │ └── banner.txt │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── redis/ │ │ └── riot/ │ │ ├── AbstractRiotApplicationTestBase.java │ │ ├── DbTests.java │ │ ├── FileTests.java │ │ ├── KeyValueSerdeTests.java │ │ ├── PostgresDeltaTests.java │ │ ├── PostgresTests.java │ │ ├── ProcessorTests.java │ │ ├── REServerStack.java │ │ ├── REStack.java │ │ ├── RedisArgsTests.java │ │ ├── RedisContainerFactory.java │ │ ├── RiotTests.java │ │ ├── SqlScriptRunner.java │ │ ├── StackFileTests.java │ │ ├── StackREContainer.java │ │ ├── StackREServer.java │ │ └── StackRiotTests.java │ └── resources/ │ ├── compare-key-processor │ ├── db/ │ │ ├── northwind.sql │ │ ├── oracle.sql │ │ └── postgres-delta.sql │ ├── db-export-postgresql │ ├── db-import-postgresql │ ├── db-import-postgresql-multithreaded │ ├── db-import-postgresql-noop │ ├── db-import-postgresql-set │ ├── faker-hset │ ├── faker-sadd │ ├── faker-tsadd │ ├── faker-tsadd-options │ ├── faker-xadd │ ├── faker-zadd │ ├── file-export-json │ ├── file-export-json-gz │ ├── file-export-xml │ ├── file-import-bad │ ├── file-import-csv │ ├── file-import-csv-max │ ├── file-import-csv-skiplines │ ├── file-import-exclude │ ├── file-import-filetype │ ├── file-import-filter │ ├── file-import-fw │ ├── file-import-gcs │ ├── file-import-geo-processor │ ├── file-import-geoadd │ ├── file-import-hset-expire │ ├── file-import-hset-expire-abs │ ├── file-import-hset-sadd │ ├── file-import-include │ ├── file-import-json │ ├── file-import-json-elastic-hset │ ├── file-import-json-elastic-jsonset │ ├── file-import-json-gz-hset │ ├── file-import-json-hset │ ├── file-import-process │ ├── file-import-process-elvis │ ├── file-import-process-faker │ ├── file-import-process-var │ ├── file-import-psv │ ├── file-import-regex │ ├── file-import-s3 │ ├── file-import-sugadd │ ├── file-import-tsv │ ├── file-import-xml │ ├── files/ │ │ ├── accounts.fw │ │ ├── airports.csv │ │ ├── bad.psv │ │ ├── beers.csv │ │ ├── beers.json │ │ ├── beers.jsonl │ │ ├── beers1.csv │ │ ├── beers2.csv │ │ ├── es_test-index.json │ │ ├── lacity.csv │ │ ├── nobels.json │ │ ├── redis-export.json │ │ ├── redis.json │ │ ├── sample.psv │ │ ├── sample.tsv │ │ ├── timestamp.json │ │ └── trades.xml │ ├── generate │ ├── generate-hash-index │ ├── generate-json-index │ ├── replicate │ ├── replicate-dry-run │ ├── replicate-hll │ ├── replicate-key-exclude │ ├── replicate-key-processor │ ├── replicate-key-processor-compare-none │ ├── replicate-live │ ├── replicate-live-key-exclude │ ├── replicate-live-keyslot │ ├── replicate-live-only-struct │ ├── replicate-live-read-threads │ ├── replicate-live-struct │ ├── replicate-live-threads │ ├── replicate-no-stream-id │ ├── replicate-no-stream-id-prune │ └── replicate-struct ├── riot ├── settings.gradle └── src/ ├── jreleaser/ │ └── changelog.tpl └── media/ └── riot.icns