[
  {
    "path": ".gitignore",
    "content": "target\n*.iml\n.okhttpcache\nELFTesting.properties\n.checkstyle\n.factorypath\n.idea/\n"
  },
  {
    "path": "Jenkinsfile",
    "content": "#!groovy\n@Library('jenkins-pipeline') import com.github.jcustenborder.jenkins.pipeline.KafkaConnectPipeline\n\ndef pipe = new KafkaConnectPipeline()\npipe.execute()"
  },
  {
    "path": "LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License."
  },
  {
    "path": "README.md",
    "content": "# Introduction\n[Documentation](https://jcustenborder.github.io/kafka-connect-documentation/projects/kafka-connect-spooldir) | [Confluent Hub](https://www.confluent.io/hub/jcustenborder/kafka-connect-spooldir)\n\nThis Kafka Connect connector provides the capability to watch a directory for files and read the data as new files are written to the input directory. Each of the records in the input file will be converted based on the user supplied schema. The connectors in this project handle all different kinds of use cases like ingesting json, csv, tsv, avro, or binary files.\n\n# Installation\n\n## Confluent Hub\n\nThe following command can be used to install the plugin directly from the Confluent Hub using the\n[Confluent Hub Client](https://docs.confluent.io/current/connect/managing/confluent-hub/client.html).\n\n```bash\nconfluent-hub install jcustenborder/kafka-connect-spooldir:latest\n```\n\n## Manually\n\nThe zip file that is deployed to the [Confluent Hub](https://www.confluent.io/hub/jcustenborder/kafka-connect-spooldir) is available under\n`target/components/packages/`. You can manually extract this zip file which includes all dependencies. All the dependencies\nthat are required to deploy the plugin are under `target/kafka-connect-target` as well. Make sure that you include all the dependencies that are required\nto run the plugin.\n\n1. Create a directory under the `plugin.path` on your Connect worker.\n2. Copy all of the dependencies under the newly created subdirectory.\n3. Restart the Connect worker.\n\n\n# Source Connectors\n## [Schema Less Json Source Connector](https://jcustenborder.github.io/kafka-connect-documentation/projects/kafka-connect-spooldir/sources/SpoolDirSchemaLessJsonSourceConnector.html)\n\n```\ncom.github.jcustenborder.kafka.connect.spooldir.SpoolDirSchemaLessJsonSourceConnector\n```\n\nThis connector is used to `stream <https://en.wikipedia.org/wiki/JSON_Streaming>_` JSON files from a directory while converting the data based on the schema supplied in the configuration. This connector will read each file node by node writing the result to Kafka. For example if your data file contains several json objects the connector will read from { to } for each object and write each object to Kafka.\n### Important\n\nThis connector does not try to convert the json records to a schema. The recommended converter to use is the StringConverter. Example: `value.converter=org.apache.kafka.connect.storage.StringConverter`\n### Configuration\n\n#### File System\n\n\n##### `error.path`\n\nThe directory to place files in which have error(s). This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `input.file.pattern`\n\nRegular expression to check input file names against. This expression must match the entire filename. The equivalent of Matcher.matches().\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `input.path`\n\nThe directory to read files that will be processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `finished.path`\n\nThe directory to place files that have been successfully processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `halt.on.error`\n\nShould the task halt when it encounters an error or continue to the next file.\n\n*Importance:* HIGH\n\n*Type:* BOOLEAN\n\n*Default Value:* true\n\n\n\n##### `cleanup.policy`\n\nDetermines how the connector should cleanup the files that have been successfully processed. NONE leaves the files in place which could cause them to be reprocessed if the connector is restarted. DELETE removes the file from the filesystem. MOVE will move the file to a finished directory. MOVEBYDATE will move the file to a finished directory with subdirectories by date\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* MOVE\n\n*Validator:* Matches: ``NONE``, ``DELETE``, ``MOVE``, ``MOVEBYDATE``\n\n\n\n##### `task.partitioner`\n\nThe task partitioner implementation is used when the connector is configured to use more than one task. This is used by each task to identify which files will be processed by that task. This ensures that each file is only assigned to one task.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* ByName\n\n*Validator:* Matches: ``ByName``\n\n\n\n##### `file.buffer.size.bytes`\n\nThe size of buffer for the BufferedInputStream that will be used to interact with the file system.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 131072\n\n*Validator:* [1,...]\n\n\n\n##### `file.minimum.age.ms`\n\nThe amount of time in milliseconds after the file was last written to before the file can be processed.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n\n##### `files.sort.attributes`\n\nThe attributes each file will use to determine the sort order. `Name` is name of the file. `Length` is the length of the file preferring larger files first. `LastModified` is the LastModified attribute of the file preferring older files first.\n\n*Importance:* LOW\n\n*Type:* LIST\n\n*Default Value:* [NameAsc]\n\n*Validator:* Matches: ``NameAsc``, ``NameDesc``, ``LengthAsc``, ``LengthDesc``, ``LastModifiedAsc``, ``LastModifiedDesc``\n\n\n\n##### `processing.file.extension`\n\nBefore a file is processed, a flag is created in its directory to indicate the file is being handled. The flag file has the same name as the file, but with this property appended as a suffix.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* .PROCESSING\n\n*Validator:* Matches regex( ^.*\\..+$ )\n\n\n#### General\n\n\n##### `topic`\n\nThe Kafka topic to write the data to.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `batch.size`\n\nThe number of records that should be returned with each batch.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1000\n\n\n\n##### `empty.poll.wait.ms`\n\nThe amount of time to wait if a poll returns an empty list of records.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 500\n\n*Validator:* [1,...,9223372036854775807]\n\n\n\n##### `file.charset`\n\nCharacter set to read wth file with.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* UTF-8\n\n*Validator:* Big5,Big5-HKSCS,CESU-8,EUC-JP,EUC-KR,GB18030,GB2312,GBK,IBM-Thai,IBM00858,IBM01140,IBM01141,IBM01142,IBM01143,IBM01144,IBM01145,IBM01146,IBM01147,IBM01148,IBM01149,IBM037,IBM1026,IBM1047,IBM273,IBM277,IBM278,IBM280,IBM284,IBM285,IBM290,IBM297,IBM420,IBM424,IBM437,IBM500,IBM775,IBM850,IBM852,IBM855,IBM857,IBM860,IBM861,IBM862,IBM863,IBM864,IBM865,IBM866,IBM868,IBM869,IBM870,IBM871,IBM918,ISO-2022-CN,ISO-2022-JP,ISO-2022-JP-2,ISO-2022-KR,ISO-8859-1,ISO-8859-13,ISO-8859-15,ISO-8859-16,ISO-8859-2,ISO-8859-3,ISO-8859-4,ISO-8859-5,ISO-8859-6,ISO-8859-7,ISO-8859-8,ISO-8859-9,JIS_X0201,JIS_X0212-1990,KOI8-R,KOI8-U,Shift_JIS,TIS-620,US-ASCII,UTF-16,UTF-16BE,UTF-16LE,UTF-32,UTF-32BE,UTF-32LE,UTF-8,windows-1250,windows-1251,windows-1252,windows-1253,windows-1254,windows-1255,windows-1256,windows-1257,windows-1258,windows-31j,x-Big5-HKSCS-2001,x-Big5-Solaris,x-euc-jp-linux,x-EUC-TW,x-eucJP-Open,x-IBM1006,x-IBM1025,x-IBM1046,x-IBM1097,x-IBM1098,x-IBM1112,x-IBM1122,x-IBM1123,x-IBM1124,x-IBM1129,x-IBM1166,x-IBM1364,x-IBM1381,x-IBM1383,x-IBM29626C,x-IBM300,x-IBM33722,x-IBM737,x-IBM833,x-IBM834,x-IBM856,x-IBM874,x-IBM875,x-IBM921,x-IBM922,x-IBM930,x-IBM933,x-IBM935,x-IBM937,x-IBM939,x-IBM942,x-IBM942C,x-IBM943,x-IBM943C,x-IBM948,x-IBM949,x-IBM949C,x-IBM950,x-IBM964,x-IBM970,x-ISCII91,x-ISO-2022-CN-CNS,x-ISO-2022-CN-GB,x-iso-8859-11,x-JIS0208,x-JISAutoDetect,x-Johab,x-MacArabic,x-MacCentralEurope,x-MacCroatian,x-MacCyrillic,x-MacDingbat,x-MacGreek,x-MacHebrew,x-MacIceland,x-MacRoman,x-MacRomania,x-MacSymbol,x-MacThai,x-MacTurkish,x-MacUkraine,x-MS932_0213,x-MS950-HKSCS,x-MS950-HKSCS-XP,x-mswin-936,x-PCK,x-SJIS_0213,x-UTF-16LE-BOM,X-UTF-32BE-BOM,X-UTF-32LE-BOM,x-windows-50220,x-windows-50221,x-windows-874,x-windows-949,x-windows-950,x-windows-iso2022jp\n\n\n\n##### `task.count`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1\n\n*Validator:* [1,...]\n\n\n\n##### `task.index`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n#### Timestamps\n\n\n##### `timestamp.mode`\n\nDetermines how the connector will set the timestamp for the [ConnectRecord](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/connector/ConnectRecord.html#timestamp()). If set to `Field` then the timestamp will be read from a field in the value. This field cannot be optional and must be a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html). Specify the field  in `timestamp.field`. If set to `FILE_TIME` then the last modified time of the file will be used. If set to `PROCESS_TIME` the time the record is read will be used.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* PROCESS_TIME\n\n*Validator:* Matches: ``FIELD``, ``FILE_TIME``, ``PROCESS_TIME``\n\n\n\n## [Json Source Connector](https://jcustenborder.github.io/kafka-connect-documentation/projects/kafka-connect-spooldir/sources/SpoolDirJsonSourceConnector.html)\n\n```\ncom.github.jcustenborder.kafka.connect.spooldir.SpoolDirJsonSourceConnector\n```\n\nThis connector is used to `stream <https://en.wikipedia.org/wiki/JSON_Streaming>` JSON files from a directory while converting the data based on the schema supplied in the configuration.\n### Important\n\nThere are some caveats to running this connector with `schema.generation.enabled = true`. If schema generation is enabled the connector will start by reading one of the files that match `input.file.pattern` in the path specified by `input.path`. If there are no files when the connector starts or is restarted the connector will fail to start. If there are different fields in other files they will not be detected. The recommended path is to specify a schema that the files will be parsed with. This will ensure that data written by this connector to Kafka will be consistent across files that have inconsistent columns. For example if some files have an optional column that is not always included, create a schema that includes the column marked as optional.\n### Note\n\nIf you want to import JSON node by node in the file and do not care about schemas, do not use this connector with Schema Generation enabled. Take a look at the Schema Less Json Source Connector.\n### Tip\n\nTo get a starting point for a schema you can use the following command to generate an all String schema. This will give you the basic structure of a schema. From there you can changes the types to match what you expect.\n.. code-block:: bash\n\n   mvn clean package\n   export CLASSPATH=\"$(find target/kafka-connect-target/usr/share/kafka-connect/kafka-connect-spooldir -type f -name '*.jar' | tr '\\n' ':')\"\n   kafka-run-class com.github.jcustenborder.kafka.connect.spooldir.AbstractSchemaGenerator -t json -f src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/FieldsMatch.data -c config/JsonExample.properties -i id\n\n### Configuration\n\n#### File System\n\n\n##### `error.path`\n\nThe directory to place files in which have error(s). This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `input.file.pattern`\n\nRegular expression to check input file names against. This expression must match the entire filename. The equivalent of Matcher.matches().\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `input.path`\n\nThe directory to read files that will be processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `finished.path`\n\nThe directory to place files that have been successfully processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `halt.on.error`\n\nShould the task halt when it encounters an error or continue to the next file.\n\n*Importance:* HIGH\n\n*Type:* BOOLEAN\n\n*Default Value:* true\n\n\n\n##### `cleanup.policy`\n\nDetermines how the connector should cleanup the files that have been successfully processed. NONE leaves the files in place which could cause them to be reprocessed if the connector is restarted. DELETE removes the file from the filesystem. MOVE will move the file to a finished directory. MOVEBYDATE will move the file to a finished directory with subdirectories by date\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* MOVE\n\n*Validator:* Matches: ``NONE``, ``DELETE``, ``MOVE``, ``MOVEBYDATE``\n\n\n\n##### `task.partitioner`\n\nThe task partitioner implementation is used when the connector is configured to use more than one task. This is used by each task to identify which files will be processed by that task. This ensures that each file is only assigned to one task.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* ByName\n\n*Validator:* Matches: ``ByName``\n\n\n\n##### `file.buffer.size.bytes`\n\nThe size of buffer for the BufferedInputStream that will be used to interact with the file system.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 131072\n\n*Validator:* [1,...]\n\n\n\n##### `file.minimum.age.ms`\n\nThe amount of time in milliseconds after the file was last written to before the file can be processed.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n\n##### `files.sort.attributes`\n\nThe attributes each file will use to determine the sort order. `Name` is name of the file. `Length` is the length of the file preferring larger files first. `LastModified` is the LastModified attribute of the file preferring older files first.\n\n*Importance:* LOW\n\n*Type:* LIST\n\n*Default Value:* [NameAsc]\n\n*Validator:* Matches: ``NameAsc``, ``NameDesc``, ``LengthAsc``, ``LengthDesc``, ``LastModifiedAsc``, ``LastModifiedDesc``\n\n\n\n##### `processing.file.extension`\n\nBefore a file is processed, a flag is created in its directory to indicate the file is being handled. The flag file has the same name as the file, but with this property appended as a suffix.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* .PROCESSING\n\n*Validator:* Matches regex( ^.*\\..+$ )\n\n\n#### General\n\n\n##### `topic`\n\nThe Kafka topic to write the data to.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `batch.size`\n\nThe number of records that should be returned with each batch.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1000\n\n\n\n##### `empty.poll.wait.ms`\n\nThe amount of time to wait if a poll returns an empty list of records.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 500\n\n*Validator:* [1,...,9223372036854775807]\n\n\n\n##### `task.count`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1\n\n*Validator:* [1,...]\n\n\n\n##### `task.index`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n#### Schema\n\n\n##### `key.schema`\n\nThe schema for the key written to Kafka.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `value.schema`\n\nThe schema for the value written to Kafka.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n#### Schema Generation\n\n\n##### `schema.generation.enabled`\n\nFlag to determine if schemas should be dynamically generated. If set  to true, `key.schema` and `value.schema` can be omitted, but `schema.generation.key.name` and `schema.generation.value.name` must be set.\n\n*Importance:* MEDIUM\n\n*Type:* BOOLEAN\n\n\n\n##### `schema.generation.key.fields`\n\nThe field(s) to use to build a key schema. This is only used during schema generation.\n\n*Importance:* MEDIUM\n\n*Type:* LIST\n\n\n\n##### `schema.generation.key.name`\n\nThe name of the generated key schema.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* com.github.jcustenborder.kafka.connect.model.Key\n\n\n\n##### `schema.generation.value.name`\n\nThe name of the generated value schema.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* com.github.jcustenborder.kafka.connect.model.Value\n\n\n#### Timestamps\n\n\n##### `timestamp.field`\n\nThe field in the value schema that will contain the parsed timestamp for the record. This field cannot be marked as optional and must be a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html)\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n\n\n##### `timestamp.mode`\n\nDetermines how the connector will set the timestamp for the [ConnectRecord](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/connector/ConnectRecord.html#timestamp()). If set to `Field` then the timestamp will be read from a field in the value. This field cannot be optional and must be a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html). Specify the field  in `timestamp.field`. If set to `FILE_TIME` then the last modified time of the file will be used. If set to `PROCESS_TIME` the time the record is read will be used.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* PROCESS_TIME\n\n*Validator:* Matches: ``FIELD``, ``FILE_TIME``, ``PROCESS_TIME``\n\n\n\n##### `parser.timestamp.date.formats`\n\nThe date formats that are expected in the file. This is a list of strings that will be used to parse the date fields in order. The most accurate date format should be the first in the list. Take a look at the Java documentation for more info. https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html\n\n*Importance:* LOW\n\n*Type:* LIST\n\n*Default Value:* [yyyy-MM-dd'T'HH:mm:ss, yyyy-MM-dd' 'HH:mm:ss]\n\n\n\n##### `parser.timestamp.timezone`\n\nThe timezone that all of the dates will be parsed with.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* UTC\n\n\n\n## [Binary File Source Connector](https://jcustenborder.github.io/kafka-connect-documentation/projects/kafka-connect-spooldir/sources/SpoolDirBinaryFileSourceConnector.html)\n\n```\ncom.github.jcustenborder.kafka.connect.spooldir.SpoolDirBinaryFileSourceConnector\n```\n\nThis connector is used to read an entire file as a byte array write the data to Kafka.\n### Warning\n\nLarge files will be read as a single byte array. This means that the process could run out of memory or try to send a message to Kafka that is greater than the max message size. If this happens an exception will be thrown.\n### Important\n\nThe recommended converter to use is the ByteArrayConverter. Example: `value.converter=org.apache.kafka.connect.storage.ByteArrayConverter`\n### Configuration\n\n#### File System\n\n\n##### `error.path`\n\nThe directory to place files in which have error(s). This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `input.file.pattern`\n\nRegular expression to check input file names against. This expression must match the entire filename. The equivalent of Matcher.matches().\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `input.path`\n\nThe directory to read files that will be processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `finished.path`\n\nThe directory to place files that have been successfully processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `halt.on.error`\n\nShould the task halt when it encounters an error or continue to the next file.\n\n*Importance:* HIGH\n\n*Type:* BOOLEAN\n\n*Default Value:* true\n\n\n\n##### `cleanup.policy`\n\nDetermines how the connector should cleanup the files that have been successfully processed. NONE leaves the files in place which could cause them to be reprocessed if the connector is restarted. DELETE removes the file from the filesystem. MOVE will move the file to a finished directory. MOVEBYDATE will move the file to a finished directory with subdirectories by date\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* MOVE\n\n*Validator:* Matches: ``NONE``, ``DELETE``, ``MOVE``, ``MOVEBYDATE``\n\n\n\n##### `task.partitioner`\n\nThe task partitioner implementation is used when the connector is configured to use more than one task. This is used by each task to identify which files will be processed by that task. This ensures that each file is only assigned to one task.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* ByName\n\n*Validator:* Matches: ``ByName``\n\n\n\n##### `file.buffer.size.bytes`\n\nThe size of buffer for the BufferedInputStream that will be used to interact with the file system.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 131072\n\n*Validator:* [1,...]\n\n\n\n##### `file.minimum.age.ms`\n\nThe amount of time in milliseconds after the file was last written to before the file can be processed.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n\n##### `files.sort.attributes`\n\nThe attributes each file will use to determine the sort order. `Name` is name of the file. `Length` is the length of the file preferring larger files first. `LastModified` is the LastModified attribute of the file preferring older files first.\n\n*Importance:* LOW\n\n*Type:* LIST\n\n*Default Value:* [NameAsc]\n\n*Validator:* Matches: ``NameAsc``, ``NameDesc``, ``LengthAsc``, ``LengthDesc``, ``LastModifiedAsc``, ``LastModifiedDesc``\n\n\n\n##### `processing.file.extension`\n\nBefore a file is processed, a flag is created in its directory to indicate the file is being handled. The flag file has the same name as the file, but with this property appended as a suffix.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* .PROCESSING\n\n*Validator:* Matches regex( ^.*\\..+$ )\n\n\n#### General\n\n\n##### `topic`\n\nThe Kafka topic to write the data to.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `batch.size`\n\nThe number of records that should be returned with each batch.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1000\n\n\n\n##### `empty.poll.wait.ms`\n\nThe amount of time to wait if a poll returns an empty list of records.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 500\n\n*Validator:* [1,...,9223372036854775807]\n\n\n\n##### `task.count`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1\n\n*Validator:* [1,...]\n\n\n\n##### `task.index`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n#### Timestamps\n\n\n##### `timestamp.mode`\n\nDetermines how the connector will set the timestamp for the [ConnectRecord](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/connector/ConnectRecord.html#timestamp()). If set to `Field` then the timestamp will be read from a field in the value. This field cannot be optional and must be a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html). Specify the field  in `timestamp.field`. If set to `FILE_TIME` then the last modified time of the file will be used. If set to `PROCESS_TIME` the time the record is read will be used.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* PROCESS_TIME\n\n*Validator:* Matches: ``FIELD``, ``FILE_TIME``, ``PROCESS_TIME``\n\n\n\n## [Line Delimited Source Connector](https://jcustenborder.github.io/kafka-connect-documentation/projects/kafka-connect-spooldir/sources/SpoolDirLineDelimitedSourceConnector.html)\n\n```\ncom.github.jcustenborder.kafka.connect.spooldir.SpoolDirLineDelimitedSourceConnector\n```\n\nThis connector is used to read a file line by line and write the data to Kafka.\n### Important\n\nThe recommended converter to use is the StringConverter. Example: `value.converter=org.apache.kafka.connect.storage.StringConverter`\n### Configuration\n\n#### File System\n\n\n##### `error.path`\n\nThe directory to place files in which have error(s). This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `input.file.pattern`\n\nRegular expression to check input file names against. This expression must match the entire filename. The equivalent of Matcher.matches().\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `input.path`\n\nThe directory to read files that will be processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `finished.path`\n\nThe directory to place files that have been successfully processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `halt.on.error`\n\nShould the task halt when it encounters an error or continue to the next file.\n\n*Importance:* HIGH\n\n*Type:* BOOLEAN\n\n*Default Value:* true\n\n\n\n##### `cleanup.policy`\n\nDetermines how the connector should cleanup the files that have been successfully processed. NONE leaves the files in place which could cause them to be reprocessed if the connector is restarted. DELETE removes the file from the filesystem. MOVE will move the file to a finished directory. MOVEBYDATE will move the file to a finished directory with subdirectories by date\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* MOVE\n\n*Validator:* Matches: ``NONE``, ``DELETE``, ``MOVE``, ``MOVEBYDATE``\n\n\n\n##### `task.partitioner`\n\nThe task partitioner implementation is used when the connector is configured to use more than one task. This is used by each task to identify which files will be processed by that task. This ensures that each file is only assigned to one task.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* ByName\n\n*Validator:* Matches: ``ByName``\n\n\n\n##### `file.buffer.size.bytes`\n\nThe size of buffer for the BufferedInputStream that will be used to interact with the file system.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 131072\n\n*Validator:* [1,...]\n\n\n\n##### `file.minimum.age.ms`\n\nThe amount of time in milliseconds after the file was last written to before the file can be processed.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n\n##### `files.sort.attributes`\n\nThe attributes each file will use to determine the sort order. `Name` is name of the file. `Length` is the length of the file preferring larger files first. `LastModified` is the LastModified attribute of the file preferring older files first.\n\n*Importance:* LOW\n\n*Type:* LIST\n\n*Default Value:* [NameAsc]\n\n*Validator:* Matches: ``NameAsc``, ``NameDesc``, ``LengthAsc``, ``LengthDesc``, ``LastModifiedAsc``, ``LastModifiedDesc``\n\n\n\n##### `processing.file.extension`\n\nBefore a file is processed, a flag is created in its directory to indicate the file is being handled. The flag file has the same name as the file, but with this property appended as a suffix.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* .PROCESSING\n\n*Validator:* Matches regex( ^.*\\..+$ )\n\n\n#### General\n\n\n##### `topic`\n\nThe Kafka topic to write the data to.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `batch.size`\n\nThe number of records that should be returned with each batch.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1000\n\n\n\n##### `empty.poll.wait.ms`\n\nThe amount of time to wait if a poll returns an empty list of records.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 500\n\n*Validator:* [1,...,9223372036854775807]\n\n\n\n##### `file.charset`\n\nCharacter set to read wth file with.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* UTF-8\n\n*Validator:* Big5,Big5-HKSCS,CESU-8,EUC-JP,EUC-KR,GB18030,GB2312,GBK,IBM-Thai,IBM00858,IBM01140,IBM01141,IBM01142,IBM01143,IBM01144,IBM01145,IBM01146,IBM01147,IBM01148,IBM01149,IBM037,IBM1026,IBM1047,IBM273,IBM277,IBM278,IBM280,IBM284,IBM285,IBM290,IBM297,IBM420,IBM424,IBM437,IBM500,IBM775,IBM850,IBM852,IBM855,IBM857,IBM860,IBM861,IBM862,IBM863,IBM864,IBM865,IBM866,IBM868,IBM869,IBM870,IBM871,IBM918,ISO-2022-CN,ISO-2022-JP,ISO-2022-JP-2,ISO-2022-KR,ISO-8859-1,ISO-8859-13,ISO-8859-15,ISO-8859-16,ISO-8859-2,ISO-8859-3,ISO-8859-4,ISO-8859-5,ISO-8859-6,ISO-8859-7,ISO-8859-8,ISO-8859-9,JIS_X0201,JIS_X0212-1990,KOI8-R,KOI8-U,Shift_JIS,TIS-620,US-ASCII,UTF-16,UTF-16BE,UTF-16LE,UTF-32,UTF-32BE,UTF-32LE,UTF-8,windows-1250,windows-1251,windows-1252,windows-1253,windows-1254,windows-1255,windows-1256,windows-1257,windows-1258,windows-31j,x-Big5-HKSCS-2001,x-Big5-Solaris,x-euc-jp-linux,x-EUC-TW,x-eucJP-Open,x-IBM1006,x-IBM1025,x-IBM1046,x-IBM1097,x-IBM1098,x-IBM1112,x-IBM1122,x-IBM1123,x-IBM1124,x-IBM1129,x-IBM1166,x-IBM1364,x-IBM1381,x-IBM1383,x-IBM29626C,x-IBM300,x-IBM33722,x-IBM737,x-IBM833,x-IBM834,x-IBM856,x-IBM874,x-IBM875,x-IBM921,x-IBM922,x-IBM930,x-IBM933,x-IBM935,x-IBM937,x-IBM939,x-IBM942,x-IBM942C,x-IBM943,x-IBM943C,x-IBM948,x-IBM949,x-IBM949C,x-IBM950,x-IBM964,x-IBM970,x-ISCII91,x-ISO-2022-CN-CNS,x-ISO-2022-CN-GB,x-iso-8859-11,x-JIS0208,x-JISAutoDetect,x-Johab,x-MacArabic,x-MacCentralEurope,x-MacCroatian,x-MacCyrillic,x-MacDingbat,x-MacGreek,x-MacHebrew,x-MacIceland,x-MacRoman,x-MacRomania,x-MacSymbol,x-MacThai,x-MacTurkish,x-MacUkraine,x-MS932_0213,x-MS950-HKSCS,x-MS950-HKSCS-XP,x-mswin-936,x-PCK,x-SJIS_0213,x-UTF-16LE-BOM,X-UTF-32BE-BOM,X-UTF-32LE-BOM,x-windows-50220,x-windows-50221,x-windows-874,x-windows-949,x-windows-950,x-windows-iso2022jp\n\n\n\n##### `task.count`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1\n\n*Validator:* [1,...]\n\n\n\n##### `task.index`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n#### Timestamps\n\n\n##### `timestamp.mode`\n\nDetermines how the connector will set the timestamp for the [ConnectRecord](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/connector/ConnectRecord.html#timestamp()). If set to `Field` then the timestamp will be read from a field in the value. This field cannot be optional and must be a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html). Specify the field  in `timestamp.field`. If set to `FILE_TIME` then the last modified time of the file will be used. If set to `PROCESS_TIME` the time the record is read will be used.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* PROCESS_TIME\n\n*Validator:* Matches: ``FIELD``, ``FILE_TIME``, ``PROCESS_TIME``\n\n\n\n## [Avro Source Connector](https://jcustenborder.github.io/kafka-connect-documentation/projects/kafka-connect-spooldir/sources/SpoolDirAvroSourceConnector.html)\n\n```\ncom.github.jcustenborder.kafka.connect.spooldir.SpoolDirAvroSourceConnector\n```\n\nThis connector is used to read avro data files from the file system and write their contents to kafka.\n### Configuration\n\n#### File System\n\n\n##### `error.path`\n\nThe directory to place files in which have error(s). This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `input.file.pattern`\n\nRegular expression to check input file names against. This expression must match the entire filename. The equivalent of Matcher.matches().\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `input.path`\n\nThe directory to read files that will be processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `finished.path`\n\nThe directory to place files that have been successfully processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `halt.on.error`\n\nShould the task halt when it encounters an error or continue to the next file.\n\n*Importance:* HIGH\n\n*Type:* BOOLEAN\n\n*Default Value:* true\n\n\n\n##### `cleanup.policy`\n\nDetermines how the connector should cleanup the files that have been successfully processed. NONE leaves the files in place which could cause them to be reprocessed if the connector is restarted. DELETE removes the file from the filesystem. MOVE will move the file to a finished directory. MOVEBYDATE will move the file to a finished directory with subdirectories by date\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* MOVE\n\n*Validator:* Matches: ``NONE``, ``DELETE``, ``MOVE``, ``MOVEBYDATE``\n\n\n\n##### `task.partitioner`\n\nThe task partitioner implementation is used when the connector is configured to use more than one task. This is used by each task to identify which files will be processed by that task. This ensures that each file is only assigned to one task.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* ByName\n\n*Validator:* Matches: ``ByName``\n\n\n\n##### `file.buffer.size.bytes`\n\nThe size of buffer for the BufferedInputStream that will be used to interact with the file system.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 131072\n\n*Validator:* [1,...]\n\n\n\n##### `file.minimum.age.ms`\n\nThe amount of time in milliseconds after the file was last written to before the file can be processed.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n\n##### `files.sort.attributes`\n\nThe attributes each file will use to determine the sort order. `Name` is name of the file. `Length` is the length of the file preferring larger files first. `LastModified` is the LastModified attribute of the file preferring older files first.\n\n*Importance:* LOW\n\n*Type:* LIST\n\n*Default Value:* [NameAsc]\n\n*Validator:* Matches: ``NameAsc``, ``NameDesc``, ``LengthAsc``, ``LengthDesc``, ``LastModifiedAsc``, ``LastModifiedDesc``\n\n\n\n##### `processing.file.extension`\n\nBefore a file is processed, a flag is created in its directory to indicate the file is being handled. The flag file has the same name as the file, but with this property appended as a suffix.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* .PROCESSING\n\n*Validator:* Matches regex( ^.*\\..+$ )\n\n\n#### General\n\n\n##### `topic`\n\nThe Kafka topic to write the data to.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `batch.size`\n\nThe number of records that should be returned with each batch.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1000\n\n\n\n##### `empty.poll.wait.ms`\n\nThe amount of time to wait if a poll returns an empty list of records.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 500\n\n*Validator:* [1,...,9223372036854775807]\n\n\n\n##### `task.count`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1\n\n*Validator:* [1,...]\n\n\n\n##### `task.index`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n#### Timestamps\n\n\n##### `timestamp.mode`\n\nDetermines how the connector will set the timestamp for the [ConnectRecord](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/connector/ConnectRecord.html#timestamp()). If set to `Field` then the timestamp will be read from a field in the value. This field cannot be optional and must be a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html). Specify the field  in `timestamp.field`. If set to `FILE_TIME` then the last modified time of the file will be used. If set to `PROCESS_TIME` the time the record is read will be used.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* PROCESS_TIME\n\n*Validator:* Matches: ``FIELD``, ``FILE_TIME``, ``PROCESS_TIME``\n\n\n\n## [Extended Log File Format Source Connector](https://jcustenborder.github.io/kafka-connect-documentation/projects/kafka-connect-spooldir/sources/SpoolDirELFSourceConnector.html)\n\n```\ncom.github.jcustenborder.kafka.connect.spooldir.elf.SpoolDirELFSourceConnector\n```\n\nThis connector is used to stream `Extended Log File Format <https://www.w3.org/TR/WD-logfile.html>` files from a directory while converting the data to a strongly typed schema.\n### Configuration\n\n#### File System\n\n\n##### `error.path`\n\nThe directory to place files in which have error(s). This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `input.file.pattern`\n\nRegular expression to check input file names against. This expression must match the entire filename. The equivalent of Matcher.matches().\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `input.path`\n\nThe directory to read files that will be processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `finished.path`\n\nThe directory to place files that have been successfully processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `halt.on.error`\n\nShould the task halt when it encounters an error or continue to the next file.\n\n*Importance:* HIGH\n\n*Type:* BOOLEAN\n\n*Default Value:* true\n\n\n\n##### `cleanup.policy`\n\nDetermines how the connector should cleanup the files that have been successfully processed. NONE leaves the files in place which could cause them to be reprocessed if the connector is restarted. DELETE removes the file from the filesystem. MOVE will move the file to a finished directory. MOVEBYDATE will move the file to a finished directory with subdirectories by date\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* MOVE\n\n*Validator:* Matches: ``NONE``, ``DELETE``, ``MOVE``, ``MOVEBYDATE``\n\n\n\n##### `task.partitioner`\n\nThe task partitioner implementation is used when the connector is configured to use more than one task. This is used by each task to identify which files will be processed by that task. This ensures that each file is only assigned to one task.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* ByName\n\n*Validator:* Matches: ``ByName``\n\n\n\n##### `file.buffer.size.bytes`\n\nThe size of buffer for the BufferedInputStream that will be used to interact with the file system.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 131072\n\n*Validator:* [1,...]\n\n\n\n##### `file.minimum.age.ms`\n\nThe amount of time in milliseconds after the file was last written to before the file can be processed.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n\n##### `files.sort.attributes`\n\nThe attributes each file will use to determine the sort order. `Name` is name of the file. `Length` is the length of the file preferring larger files first. `LastModified` is the LastModified attribute of the file preferring older files first.\n\n*Importance:* LOW\n\n*Type:* LIST\n\n*Default Value:* [NameAsc]\n\n*Validator:* Matches: ``NameAsc``, ``NameDesc``, ``LengthAsc``, ``LengthDesc``, ``LastModifiedAsc``, ``LastModifiedDesc``\n\n\n\n##### `processing.file.extension`\n\nBefore a file is processed, a flag is created in its directory to indicate the file is being handled. The flag file has the same name as the file, but with this property appended as a suffix.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* .PROCESSING\n\n*Validator:* Matches regex( ^.*\\..+$ )\n\n\n#### General\n\n\n##### `topic`\n\nThe Kafka topic to write the data to.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `batch.size`\n\nThe number of records that should be returned with each batch.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1000\n\n\n\n##### `empty.poll.wait.ms`\n\nThe amount of time to wait if a poll returns an empty list of records.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 500\n\n*Validator:* [1,...,9223372036854775807]\n\n\n\n##### `task.count`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1\n\n*Validator:* [1,...]\n\n\n\n##### `task.index`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n#### Timestamps\n\n\n##### `timestamp.mode`\n\nDetermines how the connector will set the timestamp for the [ConnectRecord](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/connector/ConnectRecord.html#timestamp()). If set to `Field` then the timestamp will be read from a field in the value. This field cannot be optional and must be a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html). Specify the field  in `timestamp.field`. If set to `FILE_TIME` then the last modified time of the file will be used. If set to `PROCESS_TIME` the time the record is read will be used.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* PROCESS_TIME\n\n*Validator:* Matches: ``FIELD``, ``FILE_TIME``, ``PROCESS_TIME``\n\n\n\n## [CSV Source Connector](https://jcustenborder.github.io/kafka-connect-documentation/projects/kafka-connect-spooldir/sources/SpoolDirCsvSourceConnector.html)\n\n```\ncom.github.jcustenborder.kafka.connect.spooldir.SpoolDirCsvSourceConnector\n```\n\nThe SpoolDirCsvSourceConnector will monitor the directory specified in `input.path` for files and read them as a CSV converting each of the records to the strongly typed equivalent specified in `key.schema` and `value.schema`.\n### Important\n\nThere are some caveats to running this connector with `schema.generation.enabled = true`. If schema generation is enabled the connector will start by reading one of the files that match `input.file.pattern` in the path specified by `input.path`. If there are no files when the connector starts or is restarted the connector will fail to start. If there are different fields in other files they will not be detected. The recommended path is to specify a schema that the files will be parsed with. This will ensure that data written by this connector to Kafka will be consistent across files that have inconsistent columns. For example if some files have an optional column that is not always included, create a schema that includes the column marked as optional.\n### Tip\n\nTo get a starting point for a schema you can use the following command to generate an all String schema. This will give you the basic structure of a schema. From there you can changes the types to match what you expect.\n\n.. code-block:: bash\n\n   mvn clean package\n   export CLASSPATH=\"$(find target/kafka-connect-target/usr/share/kafka-connect/kafka-connect-spooldir -type f -name '*.jar' | tr '\\n' ':')\"\n   kafka-run-class com.github.jcustenborder.kafka.connect.spooldir.AbstractSchemaGenerator -t csv -f src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/FieldsMatch.data -c config/CSVExample.properties -i id\n\n### Configuration\n\n#### File System\n\n\n##### `error.path`\n\nThe directory to place files in which have error(s). This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `input.file.pattern`\n\nRegular expression to check input file names against. This expression must match the entire filename. The equivalent of Matcher.matches().\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `input.path`\n\nThe directory to read files that will be processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n*Validator:* Absolute path to a directory that exists and is writable.\n\n\n\n##### `finished.path`\n\nThe directory to place files that have been successfully processed. This directory must exist and be writable by the user running Kafka Connect.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `halt.on.error`\n\nShould the task halt when it encounters an error or continue to the next file.\n\n*Importance:* HIGH\n\n*Type:* BOOLEAN\n\n*Default Value:* true\n\n\n\n##### `cleanup.policy`\n\nDetermines how the connector should cleanup the files that have been successfully processed. NONE leaves the files in place which could cause them to be reprocessed if the connector is restarted. DELETE removes the file from the filesystem. MOVE will move the file to a finished directory. MOVEBYDATE will move the file to a finished directory with subdirectories by date\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* MOVE\n\n*Validator:* Matches: ``NONE``, ``DELETE``, ``MOVE``, ``MOVEBYDATE``\n\n\n\n##### `task.partitioner`\n\nThe task partitioner implementation is used when the connector is configured to use more than one task. This is used by each task to identify which files will be processed by that task. This ensures that each file is only assigned to one task.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* ByName\n\n*Validator:* Matches: ``ByName``\n\n\n\n##### `file.buffer.size.bytes`\n\nThe size of buffer for the BufferedInputStream that will be used to interact with the file system.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 131072\n\n*Validator:* [1,...]\n\n\n\n##### `file.minimum.age.ms`\n\nThe amount of time in milliseconds after the file was last written to before the file can be processed.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n\n##### `files.sort.attributes`\n\nThe attributes each file will use to determine the sort order. `Name` is name of the file. `Length` is the length of the file preferring larger files first. `LastModified` is the LastModified attribute of the file preferring older files first.\n\n*Importance:* LOW\n\n*Type:* LIST\n\n*Default Value:* [NameAsc]\n\n*Validator:* Matches: ``NameAsc``, ``NameDesc``, ``LengthAsc``, ``LengthDesc``, ``LastModifiedAsc``, ``LastModifiedDesc``\n\n\n\n##### `processing.file.extension`\n\nBefore a file is processed, a flag is created in its directory to indicate the file is being handled. The flag file has the same name as the file, but with this property appended as a suffix.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* .PROCESSING\n\n*Validator:* Matches regex( ^.*\\..+$ )\n\n\n#### General\n\n\n##### `topic`\n\nThe Kafka topic to write the data to.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `batch.size`\n\nThe number of records that should be returned with each batch.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1000\n\n\n\n##### `csv.case.sensitive.field.names`\n\nFlag to determine if the field names in the header row should be treated as case sensitive.\n\n*Importance:* LOW\n\n*Type:* BOOLEAN\n\n\n\n##### `csv.rfc.4180.parser.enabled`\n\nFlag to determine if the RFC 4180 parser should be used instead of the default parser.\n\n*Importance:* LOW\n\n*Type:* BOOLEAN\n\n\n\n##### `empty.poll.wait.ms`\n\nThe amount of time to wait if a poll returns an empty list of records.\n\n*Importance:* LOW\n\n*Type:* LONG\n\n*Default Value:* 500\n\n*Validator:* [1,...,9223372036854775807]\n\n\n\n##### `task.count`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 1\n\n*Validator:* [1,...]\n\n\n\n##### `task.index`\n\nInternal setting to the connector used to instruct a task on which files to select. The connector will override this setting.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 0\n\n*Validator:* [0,...]\n\n\n#### Schema\n\n\n##### `key.schema`\n\nThe schema for the key written to Kafka.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n\n##### `value.schema`\n\nThe schema for the value written to Kafka.\n\n*Importance:* HIGH\n\n*Type:* STRING\n\n\n#### CSV Parsing\n\n\n##### `csv.first.row.as.header`\n\nFlag to indicate if the fist row of data contains the header of the file. If true the position of the columns will be determined by the first row to the CSV. The column position will be inferred from the position of the schema supplied in `value.schema`. If set to true the number of columns must be greater than or equal to the number of fields in the schema.\n\n*Importance:* MEDIUM\n\n*Type:* BOOLEAN\n\n\n\n##### `csv.escape.char`\n\nThe character as an integer to use when a special character is encountered. The default escape character is typically a \\(92)\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 92\n\n\n\n##### `csv.file.charset`\n\nCharacter set to read wth file with.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* UTF-8\n\n*Validator:* Big5,Big5-HKSCS,CESU-8,EUC-JP,EUC-KR,GB18030,GB2312,GBK,IBM-Thai,IBM00858,IBM01140,IBM01141,IBM01142,IBM01143,IBM01144,IBM01145,IBM01146,IBM01147,IBM01148,IBM01149,IBM037,IBM1026,IBM1047,IBM273,IBM277,IBM278,IBM280,IBM284,IBM285,IBM290,IBM297,IBM420,IBM424,IBM437,IBM500,IBM775,IBM850,IBM852,IBM855,IBM857,IBM860,IBM861,IBM862,IBM863,IBM864,IBM865,IBM866,IBM868,IBM869,IBM870,IBM871,IBM918,ISO-2022-CN,ISO-2022-JP,ISO-2022-JP-2,ISO-2022-KR,ISO-8859-1,ISO-8859-13,ISO-8859-15,ISO-8859-16,ISO-8859-2,ISO-8859-3,ISO-8859-4,ISO-8859-5,ISO-8859-6,ISO-8859-7,ISO-8859-8,ISO-8859-9,JIS_X0201,JIS_X0212-1990,KOI8-R,KOI8-U,Shift_JIS,TIS-620,US-ASCII,UTF-16,UTF-16BE,UTF-16LE,UTF-32,UTF-32BE,UTF-32LE,UTF-8,windows-1250,windows-1251,windows-1252,windows-1253,windows-1254,windows-1255,windows-1256,windows-1257,windows-1258,windows-31j,x-Big5-HKSCS-2001,x-Big5-Solaris,x-euc-jp-linux,x-EUC-TW,x-eucJP-Open,x-IBM1006,x-IBM1025,x-IBM1046,x-IBM1097,x-IBM1098,x-IBM1112,x-IBM1122,x-IBM1123,x-IBM1124,x-IBM1129,x-IBM1166,x-IBM1364,x-IBM1381,x-IBM1383,x-IBM29626C,x-IBM300,x-IBM33722,x-IBM737,x-IBM833,x-IBM834,x-IBM856,x-IBM874,x-IBM875,x-IBM921,x-IBM922,x-IBM930,x-IBM933,x-IBM935,x-IBM937,x-IBM939,x-IBM942,x-IBM942C,x-IBM943,x-IBM943C,x-IBM948,x-IBM949,x-IBM949C,x-IBM950,x-IBM964,x-IBM970,x-ISCII91,x-ISO-2022-CN-CNS,x-ISO-2022-CN-GB,x-iso-8859-11,x-JIS0208,x-JISAutoDetect,x-Johab,x-MacArabic,x-MacCentralEurope,x-MacCroatian,x-MacCyrillic,x-MacDingbat,x-MacGreek,x-MacHebrew,x-MacIceland,x-MacRoman,x-MacRomania,x-MacSymbol,x-MacThai,x-MacTurkish,x-MacUkraine,x-MS932_0213,x-MS950-HKSCS,x-MS950-HKSCS-XP,x-mswin-936,x-PCK,x-SJIS_0213,x-UTF-16LE-BOM,X-UTF-32BE-BOM,X-UTF-32LE-BOM,x-windows-50220,x-windows-50221,x-windows-874,x-windows-949,x-windows-950,x-windows-iso2022jp\n\n\n\n##### `csv.ignore.leading.whitespace`\n\nSets the ignore leading whitespace setting - if true, white space in front of a quote in a field is ignored.\n\n*Importance:* LOW\n\n*Type:* BOOLEAN\n\n*Default Value:* true\n\n\n\n##### `csv.ignore.quotations`\n\nSets the ignore quotations mode - if true, quotations are ignored.\n\n*Importance:* LOW\n\n*Type:* BOOLEAN\n\n\n\n##### `csv.keep.carriage.return`\n\nFlag to determine if the carriage return at the end of the line should be maintained.\n\n*Importance:* LOW\n\n*Type:* BOOLEAN\n\n\n\n##### `csv.null.field.indicator`\n\nIndicator to determine how the CSV Reader can determine if a field is null. Valid values are EMPTY_SEPARATORS, EMPTY_QUOTES, BOTH, NEITHER. For more information see http://opencsv.sourceforge.net/apidocs/com/opencsv/enums/CSVReaderNullFieldIndicator.html.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* NEITHER\n\n*Validator:* Matches: ``EMPTY_SEPARATORS``, ``EMPTY_QUOTES``, ``BOTH``, ``NEITHER``\n\n\n\n##### `csv.quote.char`\n\nThe character that is used to quote a field. This typically happens when the csv.separator.char character is within the data.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 34\n\n\n\n##### `csv.separator.char`\n\nThe character that separates each field in the form of an integer. Typically in a CSV this is a ,(44) character. A TSV would use a tab(9) character. If `csv.separator.char` is defined as a null(0), then the RFC 4180 parser must be utilized by default. This is the equivalent of `csv.rfc.4180.parser.enabled = true`.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 44\n\n\n\n##### `csv.skip.lines`\n\nNumber of lines to skip in the beginning of the file.\n\n*Importance:* LOW\n\n*Type:* INT\n\n*Default Value:* 0\n\n\n\n##### `csv.strict.quotes`\n\nSets the strict quotes setting - if true, characters outside the quotes are ignored.\n\n*Importance:* LOW\n\n*Type:* BOOLEAN\n\n\n\n##### `csv.verify.reader`\n\nFlag to determine if the reader should be verified.\n\n*Importance:* LOW\n\n*Type:* BOOLEAN\n\n*Default Value:* true\n\n\n#### Schema Generation\n\n\n##### `schema.generation.enabled`\n\nFlag to determine if schemas should be dynamically generated. If set  to true, `key.schema` and `value.schema` can be omitted, but `schema.generation.key.name` and `schema.generation.value.name` must be set.\n\n*Importance:* MEDIUM\n\n*Type:* BOOLEAN\n\n\n\n##### `schema.generation.key.fields`\n\nThe field(s) to use to build a key schema. This is only used during schema generation.\n\n*Importance:* MEDIUM\n\n*Type:* LIST\n\n\n\n##### `schema.generation.key.name`\n\nThe name of the generated key schema.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* com.github.jcustenborder.kafka.connect.model.Key\n\n\n\n##### `schema.generation.value.name`\n\nThe name of the generated value schema.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* com.github.jcustenborder.kafka.connect.model.Value\n\n\n#### Timestamps\n\n\n##### `timestamp.field`\n\nThe field in the value schema that will contain the parsed timestamp for the record. This field cannot be marked as optional and must be a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html)\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n\n\n##### `timestamp.mode`\n\nDetermines how the connector will set the timestamp for the [ConnectRecord](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/connector/ConnectRecord.html#timestamp()). If set to `Field` then the timestamp will be read from a field in the value. This field cannot be optional and must be a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html). Specify the field  in `timestamp.field`. If set to `FILE_TIME` then the last modified time of the file will be used. If set to `PROCESS_TIME` the time the record is read will be used.\n\n*Importance:* MEDIUM\n\n*Type:* STRING\n\n*Default Value:* PROCESS_TIME\n\n*Validator:* Matches: ``FIELD``, ``FILE_TIME``, ``PROCESS_TIME``\n\n\n\n##### `parser.timestamp.date.formats`\n\nThe date formats that are expected in the file. This is a list of strings that will be used to parse the date fields in order. The most accurate date format should be the first in the list. Take a look at the Java documentation for more info. https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html\n\n*Importance:* LOW\n\n*Type:* LIST\n\n*Default Value:* [yyyy-MM-dd'T'HH:mm:ss, yyyy-MM-dd' 'HH:mm:ss]\n\n\n\n##### `parser.timestamp.timezone`\n\nThe timezone that all of the dates will be parsed with.\n\n*Importance:* LOW\n\n*Type:* STRING\n\n*Default Value:* UTC\n\n\n\n\n\n\n# Development\n\n## Building the source\n\n```bash\nmvn clean package\n```\n\n## Contributions\n\nContributions are always welcomed! Before you start any development please create an issue and\nstart a discussion. Create a pull request against your newly created issue and we're happy to see\nif we can merge your pull request. First and foremost any time you're adding code to the code base\nyou need to include test coverage. Make sure that you run `mvn clean package` before submitting your\npull to ensure that all of the tests, checkstyle rules, and the package can be successfully built."
  },
  {
    "path": "bin/debug.sh",
    "content": "#!/usr/bin/env bash\n#\n# Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n: ${INPUT_PATH:='/tmp/spooldir/input'}\n: ${ERROR_PATH:='/tmp/spooldir/error'}\n: ${FINISHED_PATH:='/tmp/spooldir/finished'}\n: ${DEBUG_SUSPEND_FLAG:='y'}\nexport KAFKA_DEBUG='n'\nexport DEBUG_SUSPEND_FLAG='n'\n# export KAFKA_OPTS='-agentpath:/Applications/YourKit-Java-Profiler-2017.02.app/Contents/Resources/bin/mac/libyjpagent.jnilib=disablestacktelemetry,exceptions=disable,delay=10000'\nset -e\n\n# mvn clean package\n\nif [ ! -d \"${INPUT_PATH}\" ]; then\n   mkdir -p \"${INPUT_PATH}\"\nfi\n\nif [ ! -d \"${ERROR_PATH}\" ]; then\n   mkdir -p \"${ERROR_PATH}\"\nfi\n\nif [ ! -d \"${FINISHED_PATH}\" ]; then\n   mkdir -p \"${FINISHED_PATH}\"\nfi\n\ncp /Users/jeremy/Downloads/csv-spooldir-source.csv \"${INPUT_PATH}/csv-spooldir-source.csv\"\n# cp src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/FieldsMatch.data \"${INPUT_PATH}/FieldsMatch.csv\"\n# cp src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/FieldsMatch.data \"${INPUT_PATH}/FieldsMatch.json\"\n# connect-standalone config/connect-avro-docker.properties config/CSVSchemaGenerator.properties\n# connect-standalone config/connect-avro-docker.properties config/JsonExample.properties\n# connect-standalone config/connect-avro-docker.properties config/AvroExample.properties\n\nexport DOCKER_IMAGE=\"confluentinc/cp-kafka-connect:5.5.2-1-ubi8\"\n\ndocker run --rm --network=kafka-connect-spooldir_default \\\n    -p \"5005:5005\" \\\n    -v \"/tmp/spooldir:/tmp/spooldir\" \\\n    -v \"$(pwd)/config:/config\" \\\n    -v \"$(pwd)/target/kafka-connect-target/usr/share/kafka-connect:/plugins\" \\\n    \"${DOCKER_IMAGE}\" /bin/connect-standalone /config/connect-avro-docker.properties /config/CSVSchemaGenerator.properties\n\n"
  },
  {
    "path": "config/AvroExample.properties",
    "content": "#\n# Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nname=AvroSpoolDir\ntasks.max=1\nconnector.class=com.github.jcustenborder.kafka.connect.spooldir.SpoolDirAvroSourceConnector\ninput.file.pattern=^.*\\.avro$\n\nhalt.on.error=false\ntopic=testing\n\ninput.path=/Users/jeremy/data/stackoverflow\nfinished.path=/tmp/spooldir/finished\nerror.path=/tmp/spooldir/error\nbatch.size = 5000\ncleanup.policy = NONE\n"
  },
  {
    "path": "config/CSVExample.json",
    "content": "{\n  \"name\": \"CsvSpoolDir\",\n  \"config\": {\n    \"tasks.max\": \"1\",\n    \"connector.class\": \"com.github.jcustenborder.kafka.connect.spooldir.SpoolDirCsvSourceConnector\",\n    \"input.file.pattern\": \"^.*\\\\.csv$\",\n    \"halt.on.error\": \"false\",\n    \"topic\": \"testing\"\n    \"csv.first.row.as.header\": \"true\",\n    \"csv.null.field.indicator\": \"EMPTY_SEPARATORS\",\n    \"input.path\": \"/tmp/spooldir/input\",\n    \"finished.path\": \"/tmp/spooldir/finished\",\n    \"error.path\": \"/tmp/spooldir/error\",\n    \"key.schema\": \"{\\\"name\\\":\\\"com.example.users.UserKey\\\",\\\"type\\\":\\\"STRUCT\\\",\\\"isOptional\\\":false,\\\"fieldSchemas\\\":{\\\"id\\\":{\\\"type\\\":\\\"INT64\\\",\\\"isOptional\\\":false}}}\",\n    \"value.schema\": \"{\\\"name\\\":\\\"com.example.users.User\\\",\\\"type\\\":\\\"STRUCT\\\",\\\"isOptional\\\":false,\\\"fieldSchemas\\\":{\\\"id\\\":{\\\"type\\\":\\\"INT64\\\",\\\"isOptional\\\":false},\\\"first_name\\\":{\\\"type\\\":\\\"STRING\\\",\\\"isOptional\\\":true},\\\"last_name\\\":{\\\"type\\\":\\\"STRING\\\",\\\"isOptional\\\":true},\\\"email\\\":{\\\"type\\\":\\\"STRING\\\",\\\"isOptional\\\":true},\\\"gender\\\":{\\\"type\\\":\\\"STRING\\\",\\\"isOptional\\\":true},\\\"ip_address\\\":{\\\"type\\\":\\\"STRING\\\",\\\"isOptional\\\":true},\\\"last_login\\\":{\\\"name\\\":\\\"org.apache.kafka.connect.data.Timestamp\\\",\\\"type\\\":\\\"INT64\\\",\\\"version\\\":1,\\\"isOptional\\\":true},\\\"account_balance\\\":{\\\"name\\\":\\\"org.apache.kafka.connect.data.Decimal\\\",\\\"type\\\":\\\"BYTES\\\",\\\"version\\\":1,\\\"parameters\\\":{\\\"scale\\\":\\\"2\\\"},\\\"isOptional\\\":true},\\\"country\\\":{\\\"type\\\":\\\"STRING\\\",\\\"isOptional\\\":true},\\\"favorite_color\\\":{\\\"type\\\":\\\"STRING\\\",\\\"isOptional\\\":true}}}\"\n  }\n}"
  },
  {
    "path": "config/CSVExample.properties",
    "content": "#\n# Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nname=CsvSpoolDir\ntasks.max=1\nconnector.class=com.github.jcustenborder.kafka.connect.spooldir.SpoolDirCsvSourceConnector\ninput.file.pattern=^.*\\.csv$\n\nhalt.on.error=false\ntopic=testing\nkey.schema={\"name\":\"com.example.users.UserKey\",\"type\":\"STRUCT\",\"isOptional\":false,\"fieldSchemas\":{\"id\":{\"type\":\"INT64\",\"isOptional\":false}}}\nvalue.schema={\"name\":\"com.example.users.User\",\"type\":\"STRUCT\",\"isOptional\":false,\"fieldSchemas\":{\"id\":{\"type\":\"INT64\",\"isOptional\":false},\"first_name\":{\"type\":\"STRING\",\"isOptional\":true},\"last_name\":{\"type\":\"STRING\",\"isOptional\":true},\"email\":{\"type\":\"STRING\",\"isOptional\":true},\"gender\":{\"type\":\"STRING\",\"isOptional\":true},\"ip_address\":{\"type\":\"STRING\",\"isOptional\":true},\"last_login\":{\"name\":\"org.apache.kafka.connect.data.Timestamp\",\"type\":\"INT64\",\"version\":1,\"isOptional\":true},\"account_balance\":{\"name\":\"org.apache.kafka.connect.data.Decimal\",\"type\":\"BYTES\",\"version\":1,\"parameters\":{\"scale\":\"2\"},\"isOptional\":true},\"country\":{\"type\":\"STRING\",\"isOptional\":true},\"favorite_color\":{\"type\":\"STRING\",\"isOptional\":true}}}\ncsv.first.row.as.header=true\ncsv.null.field.indicator=EMPTY_SEPARATORS\n\ninput.path=/tmp/spooldir/input\nfinished.path=/tmp/spooldir/finished\nerror.path=/tmp/spooldir/error\nbatch.size = 5000\ncleanup.policy = DELETE\nfile.buffer.size.bytes = 1048576"
  },
  {
    "path": "config/CSVSchemaGenerator.properties",
    "content": "#\n# Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nname=CsvSpoolDir\ntasks.max=1\nconnector.class=com.github.jcustenborder.kafka.connect.spooldir.SpoolDirCsvSourceConnector\ninput.file.pattern=^.*\\.csv$\n\nhalt.on.error=false\ntopic=testing\ncsv.first.row.as.header=true\ncsv.null.field.indicator=EMPTY_SEPARATORS\n\ninput.path=/tmp/spooldir/input\nfinished.path=/tmp/spooldir/finished\nerror.path=/tmp/spooldir/error\nbatch.size = 5000\ncleanup.policy = DELETE\nfile.buffer.size.bytes = 1048576\n\nschema.generation.enabled=true"
  },
  {
    "path": "config/JsonExample.properties",
    "content": "#\n# Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nname=JsonSpoolDir\ntasks.max=1\nconnector.class=com.github.jcustenborder.kafka.connect.spooldir.SpoolDirJsonSourceConnector\ninput.file.pattern=^.*\\.json$\nfinished.path=/tmp/spooldir/finished\ninput.path=/tmp/spooldir/input\nerror.path=/tmp/spooldir/error\nhalt.on.error=false\ntopic=testing\nkey.schema={\"name\":\"com.example.users.UserKey\",\"type\":\"STRUCT\",\"isOptional\":false,\"fieldSchemas\":{\"id\":{\"type\":\"INT64\",\"isOptional\":false}}}\nvalue.schema={\"name\":\"com.example.users.User\",\"type\":\"STRUCT\",\"isOptional\":false,\"fieldSchemas\":{\"id\":{\"type\":\"INT64\",\"isOptional\":false},\"first_name\":{\"type\":\"STRING\",\"isOptional\":true},\"last_name\":{\"type\":\"STRING\",\"isOptional\":true},\"email\":{\"type\":\"STRING\",\"isOptional\":true},\"gender\":{\"type\":\"STRING\",\"isOptional\":true},\"ip_address\":{\"type\":\"STRING\",\"isOptional\":true},\"last_login\":{\"name\":\"org.apache.kafka.connect.data.Timestamp\",\"type\":\"INT64\",\"version\":1,\"isOptional\":true},\"account_balance\":{\"name\":\"org.apache.kafka.connect.data.Decimal\",\"type\":\"BYTES\",\"version\":1,\"parameters\":{\"scale\":\"2\"},\"isOptional\":true},\"country\":{\"type\":\"STRING\",\"isOptional\":true},\"favorite_color\":{\"type\":\"STRING\",\"isOptional\":true}}}"
  },
  {
    "path": "config/connect-avro-docker.properties",
    "content": "#\n# Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\ngroup.id=foo\nbootstrap.servers=kafka:9092\nkey.converter=io.confluent.connect.avro.AvroConverter\nkey.converter.schema.registry.url=http://schema-registry:8081\nvalue.converter=io.confluent.connect.avro.AvroConverter\nvalue.converter.schema.registry.url=http://schema-registry:8081\ninternal.key.converter=org.apache.kafka.connect.json.JsonConverter\ninternal.value.converter=org.apache.kafka.connect.json.JsonConverter\ninternal.key.converter.schemas.enable=false\ninternal.value.converter.schemas.enable=false\noffset.storage.file.filename=/tmp/connect.offsets\nplugin.path=target/kafka-connect-target/usr/share/kafka-connect,/plugins\n\nconfig.storage.replication.factor=1\nconfig.storage.topic=connect_config\noffset.storage.replication.factor=1\noffset.storage.topic=connect_offset\nstatus.storage.replication.factor=1\nstatus.storage.topic=connect_status"
  },
  {
    "path": "docker-compose.yml",
    "content": "#\n# Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\nversion: \"2\"\nservices:\n  zookeeper:\n    image: confluentinc/cp-zookeeper:6.0.0\n    ports:\n      - \"2181:2181\"\n    environment:\n      ZOOKEEPER_CLIENT_PORT: 2181\n  kafka:\n    image: confluentinc/cp-kafka:6.0.0\n    depends_on:\n      - zookeeper\n    ports:\n      - \"9092:9092\"\n    environment:\n      KAFKA_ZOOKEEPER_CONNECT: \"zookeeper:2181\"\n      KAFKA_ADVERTISED_LISTENERS: \"plaintext://kafka:9092\"\n      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1\n  schema-registry:\n    image: confluentinc/cp-schema-registry:6.0.0\n    depends_on:\n      - kafka\n      - zookeeper\n    ports:\n      - \"8081:8081\"\n    environment:\n      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: \"zookeeper:2181\"\n      SCHEMA_REGISTRY_HOST_NAME: schema-registry\n  connect:\n    image: confluentinc/cp-kafka-connect:5.5.1-1-ubi8\n    depends_on:\n      - kafka\n      - zookeeper\n      - schema-registry\n    ports:\n      - \"5005:5005\"\n    environment:\n      CONNECT_BOOTSTRAP_SERVERS: kafka:9092\n      CONNECT_GROUP_ID: spooldir\n"
  },
  {
    "path": "pom.xml",
    "content": "<?xml version=\"1.0\"?>\n<!--\n\n    Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n-->\n<project\n        xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"\n        xmlns=\"http://maven.apache.org/POM/4.0.0\"\n        xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n    <modelVersion>4.0.0</modelVersion>\n    <parent>\n        <groupId>com.github.jcustenborder.kafka.connect</groupId>\n        <artifactId>kafka-connect-parent</artifactId>\n        <version>2.8.0-1</version>\n    </parent>\n    <artifactId>kafka-connect-spooldir</artifactId>\n    <version>2.0-SNAPSHOT</version>\n    <name>kafka-connect-spooldir</name>\n    <description>A Kafka Connect connector reading delimited files from the file system.\n    </description>\n    <url>https://github.com/jcustenborder/kafka-connect-spooldir</url>\n    <inceptionYear>2016</inceptionYear>\n    <licenses>\n        <license>\n            <name>Apache License 2.0</name>\n            <url>https:/github.com/jcustenborder/kafka-connect-spooldir/LICENSE</url>\n            <distribution>repo</distribution>\n        </license>\n    </licenses>\n    <developers>\n        <developer>\n            <id>jcustenborder</id>\n            <name>Jeremy Custenborder</name>\n            <url>https://github.com/jcustenborder</url>\n            <roles>\n                <role>Committer</role>\n            </roles>\n        </developer>\n    </developers>\n    <scm>\n        <connection>scm:git:https://github.com/jcustenborder/kafka-connect-spooldir.git</connection>\n        <developerConnection>scm:git:git@github.com:jcustenborder/kafka-connect-spooldir.git\n        </developerConnection>\n        <url>https://github.com/jcustenborder/kafka-connect-spooldir</url>\n    </scm>\n    <issueManagement>\n        <system>github</system>\n        <url>https://github.com/jcustenborder/kafka-connect-spooldir/issues</url>\n    </issueManagement>\n    <dependencies>\n        <dependency>\n            <groupId>com.github.jcustenborder.kafka.connect</groupId>\n            <artifactId>connect-utils-parser</artifactId>\n        </dependency>\n        <dependency>\n            <groupId>net.sourceforge.argparse4j</groupId>\n            <artifactId>argparse4j</artifactId>\n            <version>0.7.0</version>\n            <scope>provided</scope>\n        </dependency>\n        <dependency>\n            <groupId>com.opencsv</groupId>\n            <artifactId>opencsv</artifactId>\n            <version>4.6</version>\n        </dependency>\n        <dependency>\n            <groupId>commons-beanutils</groupId>\n            <artifactId>commons-beanutils</artifactId>\n            <version>1.9.4</version>\n        </dependency>\n        <dependency>\n            <groupId>io.confluent</groupId>\n            <artifactId>kafka-connect-avro-converter</artifactId>\n            <version>5.2.1</version>\n            <scope>provided</scope>\n        </dependency>\n        <dependency>\n            <groupId>org.apache.commons</groupId>\n            <artifactId>commons-compress</artifactId>\n            <version>[1.19,)</version>\n        </dependency>\n        <dependency>\n            <groupId>com.github.jcustenborder.parsers</groupId>\n            <artifactId>extended-log-format</artifactId>\n            <version>[0.0.2.12, 0.0.2.1000)</version>\n        </dependency>\n    </dependencies>\n    <build>\n        <plugins>\n\n            <plugin>\n                <groupId>io.confluent</groupId>\n                <artifactId>kafka-connect-maven-plugin</artifactId>\n                <version>0.11.2</version>\n                <executions>\n                    <execution>\n                        <id>hub</id>\n                        <goals>\n                            <goal>kafka-connect</goal>\n                        </goals>\n                        <configuration>\n                            <confluentControlCenterIntegration>true</confluentControlCenterIntegration>\n                            <documentationUrl>https://docs.confluent.io/kafka-connect-spooldir/current/index.html\n                            </documentationUrl>\n                            <componentTypes>\n                                <componentType>source</componentType>\n                            </componentTypes>\n                            <tags>\n                                <tag>File</tag>\n                                <tag>Flume</tag>\n                                <tag>csv</tag>\n                                <tag>json</tag>\n                            </tags>\n                            <title>Kafka Connect Spooldir</title>\n                            <supportProviderName>Confluent, Inc.</supportProviderName>\n                            <supportUrl>https://docs.confluent.io/kafka-connect-spooldir/current/index.html</supportUrl>\n                            <supportSummary><![CDATA[This connector is <a href=\"https://www.confluent.io/subscription/\">supported by Confluent</a> as part of a\n                              <a href=\"https://www.confluent.io/product/confluent-platform/\">Confluent Platform</a> subscription.]]></supportSummary>\n                        </configuration>\n                    </execution>\n                </executions>\n            </plugin>\n        </plugins>\n    </build>\n</project>\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractCleanUpPolicy.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.Closeable;\nimport java.io.File;\nimport java.io.IOException;\nimport java.text.SimpleDateFormat;\n\nabstract class AbstractCleanUpPolicy implements Closeable {\n  private static final Logger log = LoggerFactory.getLogger(AbstractCleanUpPolicy.class);\n  private static final SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat(\"yyyy-MM-dd\");\n  protected final InputFile inputFile;\n  protected final File errorPath;\n  protected final File finishedPath;\n\n\n  protected AbstractCleanUpPolicy(InputFile inputFile, File errorPath, File finishedPath) {\n    this.inputFile = inputFile;\n    this.errorPath = errorPath;\n    this.finishedPath = finishedPath;\n  }\n\n\n  public static AbstractCleanUpPolicy create(AbstractSourceConnectorConfig config, InputFile inputFile) throws IOException {\n    final AbstractCleanUpPolicy result;\n    switch (config.cleanupPolicy) {\n      case MOVE:\n        result = new Move(inputFile, config.errorPath, config.finishedPath);\n        break;\n      case MOVEBYDATE:\n        result = new MoveByDate(inputFile, config.errorPath, config.finishedPath);\n        break;\n      case DELETE:\n        result = new Delete(inputFile, config.errorPath, config.finishedPath);\n        break;\n      case NONE:\n        result = new None(inputFile, config.errorPath, config.finishedPath);\n        break;\n      default:\n        throw new UnsupportedOperationException(\n            String.format(\"%s is not supported\", config.cleanupPolicy)\n        );\n    }\n\n    return result;\n  }\n\n  protected boolean createDirectory(File directory) {\n    if (directory.exists()) {\n      return true;\n    }\n    if (!directory.mkdir()) {\n      log.error(\"Cannot make directory - \" + directory.getAbsolutePath());\n      return false;\n    }\n    if (!directory.setWritable(true)) {\n      log.error(\"Cannot make directory writable - \" + directory.getAbsolutePath());\n      return false;\n    }\n    return true;\n  }\n\n  @Override\n  public void close() throws IOException {\n    this.inputFile.close();\n  }\n\n  /**\n   * Method is used to handle file cleanup when processing the file has errored.\n   */\n  public void error() throws IOException {\n    close();\n    log.error(\n        \"Error during processing, moving {} to {}.\",\n        this.inputFile,\n        this.errorPath\n    );\n    this.inputFile.moveToDirectory(this.errorPath);\n  }\n\n  /**\n   * Method is used to handle file cleanup when processing the file was successful.\n   */\n  public void success() throws IOException {\n    close();\n  }\n\n  static class Move extends AbstractCleanUpPolicy {\n    protected Move(InputFile inputFile, File errorPath, File finishedPath) {\n      super(inputFile, errorPath, finishedPath);\n    }\n\n    @Override\n    public void success() throws IOException {\n      super.success();\n      this.inputFile.moveToDirectory(this.finishedPath);\n    }\n  }\n\n  static class MoveByDate extends AbstractCleanUpPolicy {\n    protected MoveByDate(InputFile inputFile, File errorPath, File finishedPath) {\n      super(inputFile, errorPath, finishedPath);\n    }\n\n    @Override\n    public void success() throws IOException {\n      super.success();\n      // Setup directory named as the file created date\n      File subDirectory = new File(this.finishedPath, DATE_FORMATTER.format(this.inputFile.lastModified()));\n      log.trace(\"Finished path: {}\", subDirectory);\n\n      if (createDirectory(subDirectory)) {\n        this.inputFile.moveToDirectory(subDirectory);\n      } else {\n        this.inputFile.moveToDirectory(this.finishedPath);\n      }\n    }\n  }\n\n  static class Delete extends AbstractCleanUpPolicy {\n    protected Delete(InputFile inputFile, File errorPath, File finishedPath) {\n      super(inputFile, errorPath, finishedPath);\n    }\n\n    @Override\n    public void success() throws IOException {\n      super.success();\n      this.inputFile.delete();\n    }\n  }\n\n  static class None extends AbstractCleanUpPolicy {\n    protected None(InputFile inputFile, File errorPath, File finishedPath) {\n      super(inputFile, errorPath, finishedPath);\n    }\n\n    @Override\n    public void success() throws IOException {\n      super.success();\n      log.trace(\"Leaving {}\", this.inputFile);\n    }\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSchemaGenerator.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.fasterxml.jackson.core.JsonProcessingException;\nimport com.github.jcustenborder.kafka.connect.utils.jackson.ObjectMapperFactory;\nimport com.google.common.base.Strings;\nimport com.google.common.collect.ImmutableList;\nimport com.google.common.collect.ImmutableMap;\nimport net.sourceforge.argparse4j.ArgumentParsers;\nimport net.sourceforge.argparse4j.inf.ArgumentParser;\nimport net.sourceforge.argparse4j.inf.ArgumentParserException;\nimport net.sourceforge.argparse4j.inf.Namespace;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaBuilder;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.AbstractMap;\nimport java.util.LinkedHashMap;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Properties;\n\npublic abstract class AbstractSchemaGenerator<CONFIG extends AbstractSpoolDirSourceConnectorConfig> {\n  static final String DUMMY_SCHEMA;\n  static final Map<String, Object> DEFAULTS;\n  private static final Logger log = LoggerFactory.getLogger(AbstractSchemaGenerator.class);\n\n  static {\n    String dummySchema;\n    try {\n      dummySchema = ObjectMapperFactory.INSTANCE.writeValueAsString(SchemaBuilder.struct().build());\n    } catch (JsonProcessingException e) {\n      dummySchema = null;\n    }\n\n    DUMMY_SCHEMA = dummySchema;\n  }\n\n  static {\n    Map<String, Object> defaultSettings = new LinkedHashMap<>();\n    defaultSettings.put(AbstractSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, \".*\");\n    defaultSettings.put(AbstractSourceConnectorConfig.INPUT_PATH_CONFIG, \"/tmp/input\");\n    defaultSettings.put(AbstractSourceConnectorConfig.FINISHED_PATH_CONFIG, \"/tmp/finish\");\n    defaultSettings.put(AbstractSourceConnectorConfig.ERROR_PATH_CONFIG, \"/tmp/error\");\n    defaultSettings.put(AbstractSpoolDirSourceConnectorConfig.VALUE_SCHEMA_CONF, DUMMY_SCHEMA);\n    defaultSettings.put(AbstractSpoolDirSourceConnectorConfig.KEY_SCHEMA_CONF, DUMMY_SCHEMA);\n    defaultSettings.put(AbstractSourceConnectorConfig.TOPIC_CONF, \"dummy\");\n    defaultSettings.put(AbstractSpoolDirSourceConnectorConfig.SCHEMA_GENERATION_ENABLED_CONF, \"true\");\n\n    DEFAULTS = ImmutableMap.copyOf(defaultSettings);\n  }\n\n  protected CONFIG config;\n\n  public AbstractSchemaGenerator(Map<String, ?> settings) {\n    Map<String, Object> copySettings = new LinkedHashMap<>(settings);\n\n    for (Map.Entry<String, Object> kvp : DEFAULTS.entrySet()) {\n      if (!copySettings.containsKey(kvp.getKey())) {\n        copySettings.put(kvp.getKey(), kvp.getValue());\n      }\n    }\n\n    this.config = config(copySettings);\n  }\n\n  public static void main(String... args) throws Exception {\n    ArgumentParser parser = ArgumentParsers.newArgumentParser(\"CsvSchemaGenerator\")\n        .defaultHelp(true)\n        .description(\"Generate a schema based on a file.\");\n    parser.addArgument(\"-t\", \"--type\")\n        .required(true)\n        .choices(\"csv\", \"json\")\n        .help(\"The type of generator to use.\");\n    parser.addArgument(\"-c\", \"--config\")\n        .type(File.class);\n    parser.addArgument(\"-f\", \"--file\")\n        .type(File.class)\n        .required(true)\n        .help(\"The data file to generate the schema from.\");\n    parser.addArgument(\"-i\", \"--id\")\n        .nargs(\"*\")\n        .help(\"Field(s) to use as an identifier.\");\n    parser.addArgument(\"-o\", \"--output\")\n        .type(File.class)\n        .help(\"Output location to write the configuration to. Stdout is default.\");\n\n    Namespace ns = null;\n\n    try {\n      ns = parser.parseArgs(args);\n    } catch (ArgumentParserException ex) {\n      parser.handleError(ex);\n      System.exit(1);\n    }\n\n    File inputFile = ns.get(\"file\");\n    List<String> ids = ns.getList(\"id\");\n    if (null == ids) {\n      ids = ImmutableList.of();\n    }\n\n    Map<String, Object> settings = new LinkedHashMap<>();\n\n    File inputPropertiesFile = ns.get(\"config\");\n    if (null != inputPropertiesFile) {\n      Properties inputProperties = new Properties();\n\n      try (FileInputStream inputStream = new FileInputStream(inputPropertiesFile)) {\n        inputProperties.load(inputStream);\n      }\n      for (String s : inputProperties.stringPropertyNames()) {\n        Object v = inputProperties.getProperty(s);\n        settings.put(s, v);\n      }\n    }\n\n    final AbstractSchemaGenerator generator;\n    final String type = ns.getString(\"type\");\n\n    if (\"csv\".equalsIgnoreCase(type)) {\n      generator = new CsvSchemaGenerator(settings);\n    } else if (\"json\".equalsIgnoreCase(type)) {\n      generator = new JsonSchemaGenerator(settings);\n    } else {\n      throw new UnsupportedOperationException(\n          String.format(\"'%s' is not a supported schema generator type\", type)\n      );\n    }\n\n    Map.Entry<Schema, Schema> kvp = generator.generate(inputFile, ids);\n\n    Properties properties = new Properties();\n    properties.putAll(settings);\n    properties.setProperty(AbstractSpoolDirSourceConnectorConfig.KEY_SCHEMA_CONF, ObjectMapperFactory.INSTANCE.writeValueAsString(kvp.getKey()));\n    properties.setProperty(AbstractSpoolDirSourceConnectorConfig.VALUE_SCHEMA_CONF, ObjectMapperFactory.INSTANCE.writeValueAsString(kvp.getValue()));\n\n    String output = ns.getString(\"output\");\n    final String comment = \"Configuration was dynamically generated. Please verify before submitting.\";\n\n    if (Strings.isNullOrEmpty(output)) {\n      properties.store(System.out, comment);\n    } else {\n      try (FileOutputStream outputStream = new FileOutputStream(output)) {\n        properties.store(outputStream, comment);\n      }\n    }\n  }\n\n  protected abstract CONFIG config(Map<String, ?> settings);\n\n  protected abstract Map<String, Schema.Type> determineFieldTypes(InputStream inputStream) throws IOException;\n\n  void addField(SchemaBuilder builder, String name, Schema.Type schemaType) {\n    log.trace(\"addField() - name = {} schemaType = {}\", name, schemaType);\n    builder.field(\n        name,\n        SchemaBuilder.type(schemaType).optional().build()\n    );\n  }\n\n  public Map.Entry<Schema, Schema> generate(File inputFile, List<String> keyFields) throws IOException {\n    log.trace(\"generate() - inputFile = '{}', keyFields = {}\", inputFile, keyFields);\n\n    final Map<String, Schema.Type> fieldTypes;\n\n    log.info(\"Determining fields from {}\", inputFile);\n    try (InputStream inputStream = new FileInputStream(inputFile)) {\n      fieldTypes = determineFieldTypes(inputStream);\n    }\n\n    log.trace(\"generate() - Building key schema.\");\n    SchemaBuilder keySchemaBuilder = SchemaBuilder.struct()\n        .name(this.config.schemaGenerationKeyName);\n\n    for (String keyFieldName : keyFields) {\n      log.trace(\"generate() - Adding keyFieldName field '{}'\", keyFieldName);\n      if (fieldTypes.containsKey(keyFieldName)) {\n        Schema.Type schemaType = fieldTypes.get(keyFieldName);\n        addField(keySchemaBuilder, keyFieldName, schemaType);\n      } else {\n        log.warn(\"Key field '{}' is not in the data.\", keyFieldName);\n      }\n    }\n\n    log.trace(\"generate() - Building value schema.\");\n    SchemaBuilder valueSchemaBuilder = SchemaBuilder.struct()\n        .name(this.config.schemaGenerationValueName);\n\n    for (Map.Entry<String, Schema.Type> kvp : fieldTypes.entrySet()) {\n      addField(valueSchemaBuilder, kvp.getKey(), kvp.getValue());\n    }\n\n    return new AbstractMap.SimpleEntry<>(keySchemaBuilder.build(), valueSchemaBuilder.build());\n  }\n\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSourceConnector.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.VersionUtil;\nimport org.apache.kafka.connect.source.SourceConnector;\n\nimport java.util.ArrayList;\nimport java.util.LinkedHashMap;\nimport java.util.List;\nimport java.util.Map;\n\npublic abstract class AbstractSourceConnector<CONF extends AbstractSourceConnectorConfig> extends SourceConnector {\n  protected Map<String, String> settings;\n  protected CONF config;\n  protected abstract CONF config(Map<String, ?> settings);\n\n  @Override\n  public void start(Map<String, String> settings) {\n    this.config = config(settings);\n    this.settings = settings;\n  }\n\n  @Override\n  public List<Map<String, String>> taskConfigs(int taskCount) {\n    List<Map<String, String>> result = new ArrayList<>();\n\n    for (int i = 0; i < taskCount; i++) {\n      Map<String, String> taskConfig = new LinkedHashMap<>(this.settings);\n      taskConfig.put(AbstractSourceConnectorConfig.TASK_INDEX_CONF, Integer.toString(i));\n      taskConfig.put(AbstractSourceConnectorConfig.TASK_COUNT_CONF, Integer.toString(taskCount));\n      result.add(taskConfig);\n    }\n\n    return result;\n  }\n\n  @Override\n  public void stop() {\n\n  }\n\n  @Override\n  public String version() {\n    return VersionUtil.version(this.getClass());\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSourceConnectorConfig.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.ConfigKeyBuilder;\nimport com.github.jcustenborder.kafka.connect.utils.config.ConfigUtils;\nimport com.github.jcustenborder.kafka.connect.utils.config.ValidEnum;\nimport com.github.jcustenborder.kafka.connect.utils.config.ValidPattern;\nimport com.github.jcustenborder.kafka.connect.utils.config.recommenders.Recommenders;\nimport com.github.jcustenborder.kafka.connect.utils.config.validators.Validators;\nimport com.github.jcustenborder.kafka.connect.utils.config.validators.filesystem.ValidDirectoryWritable;\nimport com.google.common.collect.ImmutableList;\nimport com.google.common.io.PatternFilenameFilter;\nimport org.apache.kafka.common.config.AbstractConfig;\nimport org.apache.kafka.common.config.ConfigDef;\n\nimport java.io.File;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.regex.Pattern;\n\npublic abstract class AbstractSourceConnectorConfig extends AbstractConfig {\n  public static final String FINISHED_PATH_CONFIG = \"finished.path\";\n  public static final String ERROR_PATH_CONFIG = \"error.path\";\n  public static final String INPUT_FILE_PATTERN_CONF = \"input.file.pattern\";\n  public static final String HALT_ON_ERROR_CONF = \"halt.on.error\";\n  public static final String FILE_MINIMUM_AGE_MS_CONF = \"file.minimum.age.ms\";\n  public static final String FILE_SORT_ATTRIBUTES_CONF = \"files.sort.attributes\";\n\n  public static final String INPUT_PATH_WALK_RECURSIVELY = \"input.path.walk.recursively\";\n  public static final boolean INPUT_PATH_WALK_RECURSIVELY_DEFAULT = false;\n  static final String INPUT_PATH_WALK_RECURSIVELY_DOC = \"If enabled, any sub-directories dropped under `input.path` will be recursively walked looking for files matching the configured `input.file.pattern`. After processing is complete the discovered sub directory structure (as well as files within them) will handled according to the configured `cleanup.policy` (i.e. moved or deleted etc). For each discovered file, the walked sub-directory path will be set as a header named `file.relative.path`\";\n\n  public static final String CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH = \"cleanup.policy.maintain.relative.path\";\n  static final boolean CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH_DEFAULT = false;\n  static final String CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH_DOC = \"If `\" + INPUT_PATH_WALK_RECURSIVELY + \"` is enabled in combination with this flag being `true`, the walked sub-directories which contained files will be retained as-is under the `input.path`. The actual files within the sub-directories will moved (with a copy of the sub-dir structure) or deleted as per the `cleanup.policy` defined, but the parent sub-directory structure will remain.\";\n\n  public static final String PROCESSING_FILE_EXTENSION_CONF = \"processing.file.extension\";\n  //RecordProcessorConfig\n  public static final String BATCH_SIZE_CONF = \"batch.size\";\n  public static final String PROCESSING_FILE_EXTENSION_DEFAULT = \".PROCESSING\";\n  public static final String TOPIC_CONF = \"topic\";\n  public static final String EMPTY_POLL_WAIT_MS_CONF = \"empty.poll.wait.ms\";\n  public static final String CLEANUP_POLICY_CONF = \"cleanup.policy\";\n  public static final String CLEANUP_POLICY_DOC = \"Determines how the connector should cleanup the \" +\n      \"files that have been successfully processed. NONE leaves the files in place which could \" +\n      \"cause them to be reprocessed if the connector is restarted. DELETE removes the file from the \" +\n      \"filesystem. MOVE will move the file to a finished directory. MOVEBYDATE will move the file to \" +\n      \"a finished directory with subdirectories by date\";\n  public static final String GROUP_FILESYSTEM = \"File System\";\n  public static final String GROUP_GENERAL = \"General\";\n  //DirectoryMonitorConfig\n  //PollingDirectoryMonitorConfig\n  public static final String INPUT_PATH_CONFIG = \"input.path\";\n  public static final String TIMESTAMP_MODE_CONF = \"timestamp.mode\";\n  public static final String GROUP_TIMESTAMP = \"Timestamps\";\n  static final String BATCH_SIZE_DOC = \"The number of records that should be returned with each batch.\";\n  static final int BATCH_SIZE_DEFAULT = 1000;\n  static final String TOPIC_DOC = \"The Kafka topic to write the data to.\";\n  static final String INPUT_PATH_DOC = \"The directory to read files that will be processed. This directory must exist and be writable by the user running Kafka Connect.\";\n  static final String FINISHED_PATH_DOC = \"The directory to place files that have been successfully processed. This directory must exist and be writable by the user running Kafka Connect.\";\n  static final String ERROR_PATH_DOC = \"The directory to place files in which have error(s). This directory must exist and be writable by the user running Kafka Connect.\";\n  static final String INPUT_FILE_PATTERN_DOC = \"Regular expression to check input file names against. This expression \" +\n      \"must match the entire filename. The equivalent of Matcher.matches().\";\n  static final String HALT_ON_ERROR_DOC = \"Should the task halt when it encounters an error or continue to the next file.\";\n  static final String FILE_MINIMUM_AGE_MS_DOC = \"The amount of time in milliseconds after the file was last written to before the file can be processed.\";\n  static final String PROCESSING_FILE_EXTENSION_DOC = \"Before a file is processed, a flag is created in its directory to indicate the file is being handled. \" +\n      \"The flag file has the same name as the file, but with this property appended as a suffix.\";\n  static final String EMPTY_POLL_WAIT_MS_DOC = \"The amount of time to wait if a poll returns an empty list of records.\";\n  static final String TIMESTAMP_FIELD_DOC = \"The field in the value schema that will contain the parsed timestamp for the record. \" +\n      \"This field cannot be marked as optional and must be a \" +\n      \"[Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html)\";\n  static final String TIMESTAMP_MODE_DOC = \"Determines how the connector will set the timestamp for the \" +\n      \"[ConnectRecord](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/connector/ConnectRecord.html#timestamp()). \" +\n      \"If set to `Field` then the timestamp will be read from a field in the value. This field cannot be optional and must be \" +\n      \"a [Timestamp](https://kafka.apache.org/0102/javadoc/org/apache/kafka/connect/data/Schema.html). Specify the field \" +\n      \" in `\" + AbstractSpoolDirSourceConnectorConfig.TIMESTAMP_FIELD_CONF + \"`. \" +\n      \"If set to `FILE_TIME` then \" +\n      \"the last modified time of the file will be used. If set to `PROCESS_TIME` the time the record is read will be used.\";\n  static final String FILE_SORT_ATTRIBUTES_DOC = \"The attributes each file will use to determine the sort order. \" +\n      \"`Name` is name of the file. `Length` is the length of the file preferring larger files first. `LastModified` is \" +\n      \"the LastModified attribute of the file preferring older files first.\";\n\n  public static final String TASK_INDEX_CONF = \"task.index\";\n  static final String TASK_INDEX_DOC = \"Internal setting to the connector used to instruct a \" +\n      \"task on which files to select. The connector will override this setting.\";\n  public static final String TASK_COUNT_CONF = \"task.count\";\n  static final String TASK_COUNT_DOC = \"Internal setting to the connector used to instruct a \" +\n      \"task on which files to select. The connector will override this setting.\";\n\n  public static final String TASK_PARTITIONER_CONF = \"task.partitioner\";\n  static final String TASK_PARTITIONER_DOC = \"The task partitioner implementation is used when the \" +\n      \"connector is configured to use more than one task. This is used by each task to identify \" +\n      \"which files will be processed by that task. This ensures that each file is only assigned to \" +\n      \"one task.\";\n\n  public static final String FILE_BUFFER_SIZE_CONF = \"file.buffer.size.bytes\";\n  static final String FILE_BUFFER_SIZE_DOC = \"The size of buffer for the BufferedInputStream that will be used to \" +\n      \"interact with the file system.\";\n\n\n  public final File inputPath;\n  public final File finishedPath;\n  public final File errorPath;\n  public final boolean haltOnError;\n  public final long minimumFileAgeMS;\n  public final int batchSize;\n  public final String topic;\n  public final long emptyPollWaitMs;\n  public final String processingFileExtension;\n  public final TimestampMode timestampMode;\n  public final CleanupPolicy cleanupPolicy;\n  public final PatternFilenameFilter inputFilenameFilter;\n  public final List<FileAttribute> fileSortAttributes;\n  public final int taskIndex;\n  public final int taskCount;\n  public final TaskPartitioner taskPartitioner;\n  public final boolean bufferedInputStream;\n  public final int fileBufferSizeBytes;\n  public final boolean inputPathWalkRecursively;\n  public final boolean inputPathWalkRecursivelyRetainSubDirs;\n\n  public final boolean finishedPathRequired() {\n    boolean result;\n\n    switch (this.cleanupPolicy) {\n      case MOVE:\n      case MOVEBYDATE:\n        result = true;\n        break;\n      default:\n        result = false;\n    }\n\n    return result;\n  }\n\n\n  public AbstractSourceConnectorConfig(ConfigDef definition, Map<?, ?> originals, boolean bufferedInputStream) {\n    super(definition, originals);\n    this.bufferedInputStream = bufferedInputStream;\n    this.inputPath = ConfigUtils.getAbsoluteFile(this, INPUT_PATH_CONFIG);\n    this.cleanupPolicy = ConfigUtils.getEnum(CleanupPolicy.class, this, CLEANUP_POLICY_CONF);\n\n    if (finishedPathRequired()) {\n      this.finishedPath = ConfigUtils.getAbsoluteFile(this, FINISHED_PATH_CONFIG);\n    } else {\n      this.finishedPath = null;\n    }\n\n    this.errorPath = ConfigUtils.getAbsoluteFile(this, ERROR_PATH_CONFIG);\n    this.haltOnError = this.getBoolean(HALT_ON_ERROR_CONF);\n    this.minimumFileAgeMS = this.getLong(FILE_MINIMUM_AGE_MS_CONF);\n    this.batchSize = this.getInt(BATCH_SIZE_CONF);\n    this.topic = this.getString(TOPIC_CONF);\n    this.emptyPollWaitMs = this.getLong(EMPTY_POLL_WAIT_MS_CONF);\n    this.processingFileExtension = this.getString(PROCESSING_FILE_EXTENSION_CONF);\n    this.timestampMode = ConfigUtils.getEnum(TimestampMode.class, this, TIMESTAMP_MODE_CONF);\n    final String inputPatternText = this.getString(INPUT_FILE_PATTERN_CONF);\n    final Pattern inputPattern = Pattern.compile(inputPatternText);\n    this.inputFilenameFilter = new PatternFilenameFilter(inputPattern);\n    this.fileSortAttributes = ConfigUtils.getEnums(FileAttribute.class, this, FILE_SORT_ATTRIBUTES_CONF);\n    this.taskIndex = getInt(TASK_INDEX_CONF);\n    this.taskCount = getInt(TASK_COUNT_CONF);\n    this.taskPartitioner = ConfigUtils.getEnum(TaskPartitioner.class, this, TASK_PARTITIONER_CONF);\n    this.inputPathWalkRecursively = this.getBoolean(INPUT_PATH_WALK_RECURSIVELY);\n    this.inputPathWalkRecursivelyRetainSubDirs = this.getBoolean(CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH);\n\n    if (bufferedInputStream) {\n      this.fileBufferSizeBytes = getInt(FILE_BUFFER_SIZE_CONF);\n    } else {\n      this.fileBufferSizeBytes = 0;\n    }\n  }\n\n\n  protected static ConfigDef config(boolean bufferedInputStream) {\n    final ConfigDef result = new ConfigDef()\n        .define(\n            ConfigKeyBuilder.of(TOPIC_CONF, ConfigDef.Type.STRING)\n                .documentation(TOPIC_DOC)\n                .group(GROUP_GENERAL)\n                .importance(ConfigDef.Importance.HIGH)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(BATCH_SIZE_CONF, ConfigDef.Type.INT)\n                .documentation(BATCH_SIZE_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .defaultValue(BATCH_SIZE_DEFAULT)\n                .group(GROUP_GENERAL)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(EMPTY_POLL_WAIT_MS_CONF, ConfigDef.Type.LONG)\n                .documentation(EMPTY_POLL_WAIT_MS_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .defaultValue(500L)\n                .validator(ConfigDef.Range.between(1L, Long.MAX_VALUE))\n                .group(GROUP_GENERAL)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CLEANUP_POLICY_CONF, ConfigDef.Type.STRING)\n                .documentation(CLEANUP_POLICY_DOC)\n                .importance(ConfigDef.Importance.MEDIUM)\n                .validator(ValidEnum.of(CleanupPolicy.class))\n                .defaultValue(CleanupPolicy.MOVE.toString())\n                .group(GROUP_FILESYSTEM)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(INPUT_PATH_CONFIG, ConfigDef.Type.STRING)\n                .documentation(INPUT_PATH_DOC)\n                .importance(ConfigDef.Importance.HIGH)\n                .validator(ValidDirectoryWritable.of())\n                .group(GROUP_FILESYSTEM)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(FINISHED_PATH_CONFIG, ConfigDef.Type.STRING)\n                .documentation(FINISHED_PATH_DOC)\n                .importance(ConfigDef.Importance.HIGH)\n                .defaultValue(\"\")\n                .recommender(\n                    Recommenders.visibleIf(CLEANUP_POLICY_CONF, CleanupPolicy.MOVE.toString())\n                )\n                .group(GROUP_FILESYSTEM)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(ERROR_PATH_CONFIG, ConfigDef.Type.STRING)\n                .documentation(ERROR_PATH_DOC)\n                .importance(ConfigDef.Importance.HIGH)\n                .validator(ValidDirectoryWritable.of())\n                .group(GROUP_FILESYSTEM)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(INPUT_FILE_PATTERN_CONF, ConfigDef.Type.STRING)\n                .documentation(INPUT_FILE_PATTERN_DOC)\n                .importance(ConfigDef.Importance.HIGH)\n                .group(GROUP_FILESYSTEM)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(HALT_ON_ERROR_CONF, ConfigDef.Type.BOOLEAN)\n                .documentation(HALT_ON_ERROR_DOC)\n                .importance(ConfigDef.Importance.HIGH)\n                .defaultValue(true)\n                .group(GROUP_FILESYSTEM)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(FILE_MINIMUM_AGE_MS_CONF, ConfigDef.Type.LONG)\n                .documentation(FILE_MINIMUM_AGE_MS_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .group(GROUP_FILESYSTEM)\n                .defaultValue(0L)\n                .validator(ConfigDef.Range.atLeast(0L))\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(PROCESSING_FILE_EXTENSION_CONF, ConfigDef.Type.STRING)\n                .documentation(PROCESSING_FILE_EXTENSION_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .validator(ValidDirectoryWritable.of())\n                .group(GROUP_FILESYSTEM)\n                .defaultValue(PROCESSING_FILE_EXTENSION_DEFAULT)\n                .validator(ValidPattern.of(\"^.*\\\\..+$\"))\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(TIMESTAMP_MODE_CONF, ConfigDef.Type.STRING)\n                .documentation(TIMESTAMP_MODE_DOC)\n                .importance(ConfigDef.Importance.MEDIUM)\n                .group(GROUP_TIMESTAMP)\n                .defaultValue(TimestampMode.PROCESS_TIME.toString())\n                .validator(ValidEnum.of(TimestampMode.class))\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(FILE_SORT_ATTRIBUTES_CONF, ConfigDef.Type.LIST)\n                .documentation(FILE_SORT_ATTRIBUTES_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .validator(Validators.validEnum(FileAttribute.class))\n                .group(GROUP_FILESYSTEM)\n                .defaultValue(ImmutableList.of(FileAttribute.NameAsc.name()))\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(TASK_INDEX_CONF, ConfigDef.Type.INT)\n                .documentation(TASK_INDEX_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .validator(ConfigDef.Range.atLeast(0))\n                .group(GROUP_GENERAL)\n                .defaultValue(0)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(TASK_COUNT_CONF, ConfigDef.Type.INT)\n                .documentation(TASK_COUNT_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .validator(ConfigDef.Range.atLeast(1))\n                .group(GROUP_GENERAL)\n                .defaultValue(1)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(TASK_PARTITIONER_CONF, ConfigDef.Type.STRING)\n                .documentation(TASK_PARTITIONER_DOC)\n                .importance(ConfigDef.Importance.MEDIUM)\n                .validator(Validators.validEnum(TaskPartitioner.class))\n                .defaultValue(TaskPartitioner.ByName.toString())\n                .group(GROUP_FILESYSTEM)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(INPUT_PATH_WALK_RECURSIVELY, ConfigDef.Type.BOOLEAN)\n                .documentation(INPUT_PATH_WALK_RECURSIVELY_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .defaultValue(INPUT_PATH_WALK_RECURSIVELY_DEFAULT)\n                .group(GROUP_FILESYSTEM)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH, ConfigDef.Type.BOOLEAN)\n                .documentation(CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .defaultValue(CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH_DEFAULT)\n                .group(GROUP_FILESYSTEM)\n                .build()\n        );\n\n    if (bufferedInputStream) {\n      result.define(\n          ConfigKeyBuilder.of(FILE_BUFFER_SIZE_CONF, ConfigDef.Type.INT)\n              .documentation(FILE_BUFFER_SIZE_DOC)\n              .importance(ConfigDef.Importance.LOW)\n              .validator(ConfigDef.Range.atLeast(1))\n              .defaultValue(128 * 1024)\n              .group(GROUP_FILESYSTEM)\n              .build()\n      );\n    }\n\n    return result;\n  }\n\n  public enum TimestampMode {\n    FIELD,\n    FILE_TIME,\n    PROCESS_TIME\n  }\n\n  public enum CleanupPolicy {\n    NONE,\n    DELETE,\n    MOVE,\n    MOVEBYDATE\n  }\n\n  public enum FileAttribute {\n    NameAsc,\n    NameDesc,\n    LengthAsc,\n    LengthDesc,\n    LastModifiedAsc,\n    LastModifiedDesc\n  }\n\n  public enum TaskPartitioner {\n    ByName\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSourceTask.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.VersionUtil;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.errors.ConnectException;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.apache.kafka.connect.source.SourceTask;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\nimport com.google.common.base.Preconditions;\nimport com.google.common.base.Stopwatch;\nimport com.google.common.collect.ImmutableMap;\n\nimport java.io.File;\nimport java.io.FileNotFoundException;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.concurrent.TimeUnit;\n\npublic abstract class AbstractSourceTask<CONF extends AbstractSourceConnectorConfig> extends SourceTask {\n  private static final Logger log = LoggerFactory.getLogger(AbstractSourceTask.class);\n  protected Map<String, ?> sourcePartition;\n  protected CONF config;\n  private final Stopwatch processingTime = Stopwatch.createUnstarted();\n  protected InputFile inputFile;\n\n  private boolean hasRecords = false;\n\n  private static void checkDirectory(String key, File directoryPath) {\n    if (log.isInfoEnabled()) {\n      log.info(\"Checking if directory {} '{}' exists.\",\n          key,\n          directoryPath\n      );\n    }\n\n    String errorMessage = String.format(\n        \"Directory for '%s' '%s' does not exist \",\n        key,\n        directoryPath\n    );\n\n    if (!directoryPath.isDirectory()) {\n      throw new ConnectException(\n          errorMessage,\n          new FileNotFoundException(directoryPath.getAbsolutePath())\n      );\n    }\n\n    if (log.isInfoEnabled()) {\n      log.info(\"Checking to ensure {} '{}' is writable \", key, directoryPath);\n    }\n\n    errorMessage = String.format(\n        \"Directory for '%s' '%s' it not writable.\",\n        key,\n        directoryPath\n    );\n\n    File temporaryFile = null;\n\n    try {\n      temporaryFile = File.createTempFile(\".permission\", \".testing\", directoryPath);\n    } catch (IOException ex) {\n      throw new ConnectException(\n          errorMessage,\n          ex\n      );\n    } finally {\n      try {\n        if (null != temporaryFile && temporaryFile.exists()) {\n          Preconditions.checkState(temporaryFile.delete(), \"Unable to delete temp file in %s\", directoryPath);\n        }\n      } catch (Exception ex) {\n        if (log.isWarnEnabled()) {\n          log.warn(\"Exception thrown while deleting {}.\", temporaryFile, ex);\n        }\n      }\n    }\n  }\n\n  protected abstract CONF config(Map<String, ?> settings);\n\n  protected abstract void configure(InputFile inputFile, Long lastOffset) throws IOException;\n\n  protected abstract List<SourceRecord> process() throws IOException;\n\n  protected abstract long recordOffset();\n\n  @Override\n  public void start(Map<String, String> settings) {\n    this.config = config(settings);\n\n    checkDirectory(AbstractSourceConnectorConfig.INPUT_PATH_CONFIG, this.config.inputPath);\n    checkDirectory(AbstractSourceConnectorConfig.ERROR_PATH_CONFIG, this.config.errorPath);\n\n    if (this.config.finishedPathRequired()) {\n      checkDirectory(AbstractSourceConnectorConfig.FINISHED_PATH_CONFIG, this.config.finishedPath);\n    }\n\n    this.inputFileDequeue = new InputFileDequeue(this.config);\n  }\n\n  @Override\n  public void stop() {\n    log.info(\"Stopping task.\");\n    try {\n      if (null != this.inputFile) {\n        this.inputFile.close();\n      }\n      if (null != this.cleanUpPolicy) {\n        this.cleanUpPolicy.close();\n      }\n    } catch (IOException ex) {\n      log.error(\"Exception thrown while closing {}\", this.inputFile);\n    }\n  }\n\n  @Override\n  public String version() {\n    return VersionUtil.version(this.getClass());\n  }\n\n  InputFileDequeue inputFileDequeue;\n  int emptyCount = 0;\n  long recordCount;\n\n  @Override\n  public List<SourceRecord> poll() throws InterruptedException {\n    log.trace(\"poll()\");\n    List<SourceRecord> results = read();\n\n    if (results.isEmpty()) {\n      emptyCount++;\n      if (emptyCount > 1) {\n        log.trace(\"read() returned empty list. Sleeping {} ms.\", this.config.emptyPollWaitMs);\n        Thread.sleep(this.config.emptyPollWaitMs);\n      }\n      return null;\n    }\n    emptyCount = 0;\n    log.trace(\"read() returning {} result(s)\", results.size());\n\n    return results;\n  }\n\n  //\n\n  /**\n   * Calculates the byte count in a human readable form. Special thanks to\n   * https://stackoverflow.com/questions/3758606/how-to-convert-byte-size-into-human-readable-format-in-java\n   *\n   * @param bytes\n   * @param si\n   * @return\n   */\n  public static String humanReadableByteCount(long bytes, boolean si) {\n    final int unit = si ? 1000 : 1024;\n    if (bytes < unit) return bytes + \" B\";\n    int exp = (int) (Math.log(bytes) / Math.log(unit));\n    String pre = (si ? \"kMGTPE\" : \"KMGTPE\").charAt(exp - 1) + (si ? \"\" : \"i\");\n    return String.format(\"%.1f %sB\", bytes / Math.pow(unit, exp), pre);\n  }\n\n  private void recordProcessingTime() {\n    final long secondsElapsed = processingTime.elapsed(TimeUnit.SECONDS);\n    final long bytesPerSecond;\n\n    if (0L == secondsElapsed || 0L == this.inputFile.length()) {\n      bytesPerSecond = 0L;\n    } else {\n      bytesPerSecond = this.inputFile.length() / secondsElapsed;\n    }\n\n    if (bytesPerSecond > 0) {\n      log.info(\n          \"Finished processing {} record(s) in {} second(s). Processing speed {} per second.\",\n          this.recordCount,\n          secondsElapsed,\n          humanReadableByteCount(bytesPerSecond, false)\n      );\n    } else {\n      log.info(\n          \"Finished processing {} record(s) in {} second(s).\",\n          this.recordCount,\n          secondsElapsed\n      );\n    }\n  }\n\n  AbstractCleanUpPolicy cleanUpPolicy;\n\n\n  public List<SourceRecord> read() {\n    try {\n      if (!hasRecords) {\n\n        if (null != this.inputFile) {\n          recordProcessingTime();\n          this.inputFile.close();\n          this.cleanUpPolicy.success();\n          this.inputFile = null;\n        }\n\n        log.trace(\"read() - polling for next file.\");\n        InputFile nextFile = this.inputFileDequeue.poll();\n\n        log.trace(\"read() - nextFile = '{}'\", nextFile);\n        if (null == nextFile) {\n          log.trace(\"read() - No next file found.\");\n          return new ArrayList<>();\n        }\n        this.inputFile = nextFile;\n        try {\n          this.sourcePartition = ImmutableMap.of(\n              \"fileName\", this.inputFile.getName()\n          );\n          log.info(\"Opening {}\", this.inputFile);\n          Long lastOffset = null;\n          log.trace(\"looking up offset for {}\", this.sourcePartition);\n          Map<String, Object> offset = this.context.offsetStorageReader().offset(this.sourcePartition);\n          if (null != offset && !offset.isEmpty()) {\n            Number number = (Number) offset.get(\"offset\");\n            lastOffset = number.longValue();\n          }\n\n          this.cleanUpPolicy = AbstractCleanUpPolicy.create(this.config, this.inputFile);\n          this.recordCount = 0;\n          log.trace(\"read() - calling configure(lastOffset={})\", lastOffset);\n          configure(this.inputFile, lastOffset);\n        } catch (Exception ex) {\n          throw new ConnectException(ex);\n        }\n        processingTime.reset();\n        processingTime.start();\n      }\n      List<SourceRecord> records = process();\n      this.hasRecords = !records.isEmpty();\n      return records;\n    } catch (Exception ex) {\n      long recordOffset;\n      try {\n        recordOffset = recordOffset();\n      } catch (Exception e) {\n        log.error(\"Exception thrown while calling recordOffset()\", e);\n        recordOffset = -1;\n      }\n      log.error(\"Exception encountered processing line {} of {}.\", recordOffset, this.inputFile, ex);\n      try {\n        this.cleanUpPolicy.error();\n      } catch (IOException e) {\n        log.warn(\"Exception while while closing cleanup policy\", ex);\n      }\n      if (this.config.haltOnError) {\n        throw new ConnectException(ex);\n      } else {\n        return new ArrayList<>();\n      }\n    }\n  }\n\n  protected Map<String, ?> offset() {\n    return ImmutableMap.of(\n        \"offset\",\n        recordOffset()\n    );\n  }\n\n  protected SourceRecord record(\n      SchemaAndValue key,\n      SchemaAndValue value,\n      Long timestamp) {\n    Map<String, ?> sourceOffset = offset();\n\n    SourceRecord result = new SourceRecord(\n        this.sourcePartition,\n        sourceOffset,\n        this.config.topic,\n        null,\n        null != key ? key.schema() : null,\n        null != key ? key.value() : null,\n        value.schema(),\n        value.value(),\n        timestamp,\n        this.inputFile.metadata().headers(recordOffset())\n    );\n\n    return result;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSpoolDirSourceConnector.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.VersionUtil;\nimport com.github.jcustenborder.kafka.connect.utils.jackson.ObjectMapperFactory;\nimport com.google.common.base.Preconditions;\nimport com.google.common.collect.HashMultimap;\nimport com.google.common.collect.Multimap;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.errors.ConnectException;\nimport org.apache.kafka.connect.errors.DataException;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.Arrays;\nimport java.util.Collection;\nimport java.util.HashMap;\nimport java.util.LinkedHashMap;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.stream.Collectors;\n\npublic abstract class AbstractSpoolDirSourceConnector<CONF extends AbstractSpoolDirSourceConnectorConfig> extends AbstractSourceConnector<CONF> {\n  private static final Logger log = LoggerFactory.getLogger(AbstractSpoolDirSourceConnector.class);\n\n  protected abstract AbstractSchemaGenerator<CONF> generator(Map<String, String> settings);\n\n  @Override\n  public String version() {\n    return VersionUtil.version(this.getClass());\n  }\n\n  @Override\n  public void start(final Map<String, String> input) {\n    super.start(input);\n    this.config = config(input);\n    final Map<String, String> settings = new LinkedHashMap<>(input);\n\n    if (this.config.schemasRequired() && (null == this.config.valueSchema || null == this.config.keySchema)) {\n      log.info(\"Key or Value schema was not defined. Running schema generator.\");\n      AbstractSchemaGenerator<CONF> generator = generator(settings);\n\n      try {\n        List<File> inputFiles = Arrays.stream(this.config.inputPath.listFiles(this.config.inputFilenameFilter))\n            .limit(5)\n            .collect(Collectors.toList());\n        Preconditions.checkState(\n            !inputFiles.isEmpty(),\n            \"Could not find any input file(s) to infer schema from.\"\n        );\n\n        Map<String, Map.Entry<Schema, Schema>> schemas = new HashMap<>();\n        Multimap<String, File> schemaToFiles = HashMultimap.create();\n\n        for (File inputFile : inputFiles) {\n          Map.Entry<Schema, Schema> schemaEntry = generator.generate(inputFile, this.config.keyFields);\n          String schema = ObjectMapperFactory.INSTANCE.writeValueAsString(schemaEntry.getValue());\n          schemaToFiles.put(schema, inputFile);\n          schemas.put(schema, schemaEntry);\n        }\n\n        Map<String, Collection<File>> schemaToFilesMap = schemaToFiles.asMap();\n        if (1 != schemaToFilesMap.keySet().size()) {\n          StringBuilder builder = new StringBuilder();\n          builder.append(\"More than one schema was found for the input pattern.\\n\");\n          for (String schema : schemaToFilesMap.keySet()) {\n            builder.append(\"Schema: \");\n            builder.append(schema);\n            builder.append(\"\\n\");\n\n            for (File f : schemaToFilesMap.get(schema)) {\n              builder.append(\"  \");\n              builder.append(f);\n              builder.append(\"\\n\");\n            }\n          }\n\n          throw new DataException(builder.toString());\n        }\n\n        Map.Entry<Schema, Schema> schemaPair = null;\n        for (Map.Entry<Schema, Schema> s : schemas.values()) {\n          schemaPair = s;\n          break;\n        }\n\n        if (null == schemaPair) {\n          throw new DataException(\"Schema could not be generated.\");\n        }\n\n        final String keySchema = ObjectMapperFactory.INSTANCE.writeValueAsString(schemaPair.getKey());\n        log.info(\"Setting {} to {}\", AbstractSpoolDirSourceConnectorConfig.KEY_SCHEMA_CONF, keySchema);\n        final String valueSchema = ObjectMapperFactory.INSTANCE.writeValueAsString(schemaPair.getValue());\n        log.info(\"Setting {} to {}\", AbstractSpoolDirSourceConnectorConfig.VALUE_SCHEMA_CONF, valueSchema);\n        settings.put(AbstractSpoolDirSourceConnectorConfig.KEY_SCHEMA_CONF, keySchema);\n        settings.put(AbstractSpoolDirSourceConnectorConfig.VALUE_SCHEMA_CONF, valueSchema);\n      } catch (IOException e) {\n        throw new ConnectException(\"Exception thrown while generating schema\", e);\n      }\n      this.settings = settings;\n    }\n\n    this.settings = settings;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSpoolDirSourceConnectorConfig.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.fasterxml.jackson.core.JsonProcessingException;\nimport com.github.jcustenborder.kafka.connect.utils.config.ConfigKeyBuilder;\nimport com.github.jcustenborder.kafka.connect.utils.config.recommenders.Recommenders;\nimport com.github.jcustenborder.kafka.connect.utils.jackson.ObjectMapperFactory;\nimport com.google.common.base.Preconditions;\nimport com.google.common.base.Strings;\nimport com.google.common.collect.ImmutableList;\nimport org.apache.kafka.common.config.ConfigDef;\nimport org.apache.kafka.common.config.ConfigDef.Type;\nimport org.apache.kafka.connect.data.Field;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.Timestamp;\nimport org.apache.kafka.connect.errors.ConnectException;\nimport org.apache.kafka.connect.errors.DataException;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.text.SimpleDateFormat;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.TimeZone;\n\n\n@SuppressWarnings(\"WeakerAccess\")\npublic abstract class AbstractSpoolDirSourceConnectorConfig extends AbstractSourceConnectorConfig {\n  public static final String TIMESTAMP_FIELD_CONF = \"timestamp.field\";\n  public static final String KEY_SCHEMA_CONF = \"key.schema\";\n  public static final String VALUE_SCHEMA_CONF = \"value.schema\";\n  public static final String PARSER_TIMESTAMP_DATE_FORMATS_CONF = \"parser.timestamp.date.formats\";\n  public static final String PARSER_TIMESTAMP_TIMEZONE_CONF = \"parser.timestamp.timezone\";\n  public static final String SCHEMA_GENERATION_KEY_FIELDS_CONF = \"schema.generation.key.fields\";\n  public static final String SCHEMA_GENERATION_KEY_NAME_CONF = \"schema.generation.key.name\";\n  public static final String SCHEMA_GENERATION_VALUE_NAME_CONF = \"schema.generation.value.name\";\n  public static final String SCHEMA_GENERATION_ENABLED_CONF = \"schema.generation.enabled\";\n  public static final String GROUP_SCHEMA_GENERATION = \"Schema Generation\";\n  public static final String GROUP_SCHEMA = \"Schema\";\n  static final String KEY_SCHEMA_DOC = \"The schema for the key written to Kafka.\";\n  static final String VALUE_SCHEMA_DOC = \"The schema for the value written to Kafka.\";\n  static final String PARSER_TIMESTAMP_DATE_FORMATS_DOC = \"The date formats that are expected in the file. This is a list \" +\n      \"of strings that will be used to parse the date fields in order. The most accurate date format should be the first \" +\n      \"in the list. Take a look at the Java documentation for more info. \" +\n      \"https://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html\";\n  static final List<String> PARSER_TIMESTAMP_DATE_FORMATS_DEFAULT = Arrays.asList(\"yyyy-MM-dd'T'HH:mm:ss\", \"yyyy-MM-dd' 'HH:mm:ss\");\n  static final String PARSER_TIMESTAMP_TIMEZONE_DOC = \"The timezone that all of the dates will be parsed with.\";\n  static final String PARSER_TIMESTAMP_TIMEZONE_DEFAULT = \"UTC\";\n  static final String SCHEMA_GENERATION_KEY_FIELDS_DOC = \"The field(s) to use to build a key schema. This is only used during schema generation.\";\n  static final String SCHEMA_GENERATION_KEY_NAME_DOC = \"The name of the generated key schema.\";\n  static final String SCHEMA_GENERATION_VALUE_NAME_DOC = \"The name of the generated value schema.\";\n  static final String SCHEMA_GENERATION_ENABLED_DOC = \"Flag to determine if schemas should be dynamically generated. If set \" +\n      \" to true, `\" + KEY_SCHEMA_CONF + \"` and `\" + VALUE_SCHEMA_CONF + \"` can be omitted, but `\" + SCHEMA_GENERATION_KEY_NAME_CONF + \"` \" +\n      \"and `\" + SCHEMA_GENERATION_VALUE_NAME_CONF + \"` must be set.\";\n\n  private static final Logger log = LoggerFactory.getLogger(AbstractSpoolDirSourceConnectorConfig.class);\n\n  public final Schema keySchema;\n  public final Schema valueSchema;\n  public final SimpleDateFormat[] parserTimestampDateFormats;\n  public final TimeZone parserTimestampTimezone;\n\n  public final String timestampField;\n  public final List<String> keyFields;\n\n  public final boolean schemaGenerationEnabled;\n  public final String schemaGenerationKeyName;\n  public final String schemaGenerationValueName;\n\n\n  public AbstractSpoolDirSourceConnectorConfig(final boolean isTask, boolean bufferedInputStream, ConfigDef configDef, Map<String, ?> settings) {\n    super(configDef, settings, bufferedInputStream);\n\n\n    this.keyFields = this.getList(SCHEMA_GENERATION_KEY_FIELDS_CONF);\n    this.schemaGenerationEnabled = this.getBoolean(SCHEMA_GENERATION_ENABLED_CONF);\n    this.schemaGenerationKeyName = this.getString(SCHEMA_GENERATION_KEY_NAME_CONF);\n    this.schemaGenerationValueName = this.getString(SCHEMA_GENERATION_VALUE_NAME_CONF);\n\n\n    String timestampTimezone = this.getString(PARSER_TIMESTAMP_TIMEZONE_CONF);\n    this.parserTimestampTimezone = TimeZone.getTimeZone(timestampTimezone);\n\n    List<SimpleDateFormat> results = new ArrayList<>();\n    List<String> formats = this.getList(PARSER_TIMESTAMP_DATE_FORMATS_CONF);\n    for (String s : formats) {\n      SimpleDateFormat dateFormat = new SimpleDateFormat(s);\n      dateFormat.setTimeZone(this.parserTimestampTimezone);\n      results.add(dateFormat);\n    }\n    this.parserTimestampDateFormats = results.toArray(new SimpleDateFormat[results.size()]);\n\n\n    this.keySchema = readSchema(KEY_SCHEMA_CONF);\n    this.valueSchema = readSchema(VALUE_SCHEMA_CONF);\n\n    if (!this.schemaGenerationEnabled) {\n      Preconditions.checkNotNull(\n          this.keySchema,\n          \"'%s' must be set if '%s' = false.\",\n          KEY_SCHEMA_CONF,\n          SCHEMA_GENERATION_ENABLED_CONF\n      );\n      Preconditions.checkNotNull(\n          this.valueSchema,\n          \"'%s' must be set if '%s' = false.\",\n          VALUE_SCHEMA_CONF,\n          SCHEMA_GENERATION_ENABLED_CONF\n      );\n    } else {\n      Preconditions.checkState(\n          !Strings.isNullOrEmpty(this.schemaGenerationKeyName),\n          \"'%s' must be set if '%s' = true.\",\n          SCHEMA_GENERATION_KEY_NAME_CONF,\n          SCHEMA_GENERATION_ENABLED_CONF\n      );\n      Preconditions.checkState(\n          !Strings.isNullOrEmpty(this.schemaGenerationValueName),\n          \"'%s' must be set if '%s' = true.\",\n          SCHEMA_GENERATION_VALUE_NAME_CONF,\n          SCHEMA_GENERATION_ENABLED_CONF\n      );\n    }\n\n    if (TimestampMode.FIELD == this.timestampMode) {\n      this.timestampField = this.getString(TIMESTAMP_FIELD_CONF);\n\n      if (Strings.isNullOrEmpty(this.timestampField)) {\n        throw new ConnectException(\n            String.format(\n                \"When `%s` is set to `%s`, `%s` must be set to a timestamp field. Cannot be null or empty.\",\n                TIMESTAMP_MODE_CONF,\n                TimestampMode.FIELD,\n                TIMESTAMP_FIELD_CONF\n            )\n        );\n      }\n\n      log.trace(\"ctor() - Looking for timestamp field '{}'\", this.timestampField);\n      Field timestampField = this.valueSchema.field(this.timestampField);\n\n      if (null == timestampField ||\n          timestampField.schema().isOptional() ||\n          !Timestamp.LOGICAL_NAME.equals(timestampField.schema().name())) {\n\n        String example;\n\n        try {\n          example = ObjectMapperFactory.INSTANCE.writeValueAsString(Timestamp.SCHEMA);\n        } catch (JsonProcessingException e) {\n          example = null;\n        }\n\n        log.trace(\"ctor() - example: {}\", example);\n\n        throw new ConnectException(\n            String.format(\n                \"Field '%s' must be present and set to a timestamp and cannot be optional. Example %s\",\n                this.timestampField,\n                example\n            )\n        );\n      }\n    } else {\n      this.timestampField = null;\n    }\n\n    if (schemasRequired() && (isTask && null == this.valueSchema)) {\n      throw new DataException(\n          String.format(\"'%s' must be set to a valid schema.\", VALUE_SCHEMA_CONF)\n      );\n    }\n  }\n\n  protected static ConfigDef config(boolean bufferedInputStream) {\n\n    ConfigDef.Recommender schemaRecommender = new ConfigDef.Recommender() {\n      @Override\n      public List<Object> validValues(String key, Map<String, Object> settings) {\n        return ImmutableList.of();\n      }\n\n      @Override\n      public boolean visible(String key, Map<String, Object> settings) {\n        boolean schemaGenerationEnabled = (boolean) settings.get(SCHEMA_GENERATION_ENABLED_CONF);\n\n        if (KEY_SCHEMA_CONF.endsWith(key)) {\n          return !schemaGenerationEnabled;\n        }\n        if (VALUE_SCHEMA_CONF.endsWith(key)) {\n          return !schemaGenerationEnabled;\n        }\n        if (SCHEMA_GENERATION_KEY_NAME_CONF.endsWith(key)) {\n          return schemaGenerationEnabled;\n        }\n        if (SCHEMA_GENERATION_VALUE_NAME_CONF.endsWith(key)) {\n          return schemaGenerationEnabled;\n        }\n        if (SCHEMA_GENERATION_KEY_FIELDS_CONF.endsWith(key)) {\n          return schemaGenerationEnabled;\n        }\n\n        return true;\n      }\n    };\n\n\n    return AbstractSourceConnectorConfig.config(bufferedInputStream)\n        .define(\n            ConfigKeyBuilder.of(KEY_SCHEMA_CONF, Type.STRING)\n                .documentation(KEY_SCHEMA_DOC)\n                .importance(ConfigDef.Importance.HIGH)\n                .group(GROUP_SCHEMA)\n                .defaultValue(\"\")\n                .width(ConfigDef.Width.LONG)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(VALUE_SCHEMA_CONF, Type.STRING)\n                .documentation(VALUE_SCHEMA_DOC)\n                .importance(ConfigDef.Importance.HIGH)\n                .group(GROUP_SCHEMA)\n                .defaultValue(\"\")\n                .width(ConfigDef.Width.LONG)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(SCHEMA_GENERATION_ENABLED_CONF, Type.BOOLEAN)\n                .documentation(SCHEMA_GENERATION_ENABLED_DOC)\n                .importance(ConfigDef.Importance.MEDIUM)\n                .group(GROUP_SCHEMA_GENERATION)\n                .defaultValue(false)\n                .recommender(schemaRecommender)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(SCHEMA_GENERATION_KEY_FIELDS_CONF, Type.LIST)\n                .documentation(SCHEMA_GENERATION_KEY_FIELDS_DOC)\n                .importance(ConfigDef.Importance.MEDIUM)\n                .group(GROUP_SCHEMA_GENERATION)\n                .defaultValue(ImmutableList.of())\n                .recommender(schemaRecommender)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(SCHEMA_GENERATION_KEY_NAME_CONF, Type.STRING)\n                .documentation(SCHEMA_GENERATION_KEY_NAME_DOC)\n                .importance(ConfigDef.Importance.MEDIUM)\n                .group(GROUP_SCHEMA_GENERATION)\n                .defaultValue(\"com.github.jcustenborder.kafka.connect.model.Key\")\n                .recommender(schemaRecommender)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(SCHEMA_GENERATION_VALUE_NAME_CONF, Type.STRING)\n                .documentation(SCHEMA_GENERATION_VALUE_NAME_DOC)\n                .importance(ConfigDef.Importance.MEDIUM)\n                .group(GROUP_SCHEMA_GENERATION)\n                .defaultValue(\"com.github.jcustenborder.kafka.connect.model.Value\")\n                .recommender(schemaRecommender)\n                .build()\n        )\n\n        .define(\n            ConfigKeyBuilder.of(PARSER_TIMESTAMP_TIMEZONE_CONF, Type.STRING)\n                .documentation(PARSER_TIMESTAMP_TIMEZONE_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .group(GROUP_TIMESTAMP)\n                .defaultValue(PARSER_TIMESTAMP_TIMEZONE_DEFAULT)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(PARSER_TIMESTAMP_DATE_FORMATS_CONF, Type.LIST)\n                .documentation(PARSER_TIMESTAMP_DATE_FORMATS_DOC)\n                .importance(ConfigDef.Importance.LOW)\n                .group(GROUP_TIMESTAMP)\n                .defaultValue(PARSER_TIMESTAMP_DATE_FORMATS_DEFAULT)\n                .build()\n        ).define(\n            ConfigKeyBuilder.of(TIMESTAMP_FIELD_CONF, Type.STRING)\n                .documentation(TIMESTAMP_FIELD_DOC)\n                .importance(ConfigDef.Importance.MEDIUM)\n                .group(GROUP_TIMESTAMP)\n                .defaultValue(\"\")\n                .recommender(\n                    Recommenders.visibleIf(TIMESTAMP_MODE_CONF, TimestampMode.FIELD.toString())\n                )\n                .build()\n        );\n  }\n\n  public abstract boolean schemasRequired();\n\n  Schema readSchema(final String key) {\n    String schema = this.getString(key);\n    Schema result;\n\n    if (Strings.isNullOrEmpty(schema)) {\n      result = null;\n    } else {\n      try {\n        result = ObjectMapperFactory.INSTANCE.readValue(schema, Schema.class);\n      } catch (IOException e) {\n        throw new DataException(\"Could not read schema from '\" + key + \"'\", e);\n      }\n    }\n\n    return result;\n  }\n\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSpoolDirSourceTask.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.data.Parser;\nimport com.github.jcustenborder.kafka.connect.utils.data.type.DateTypeParser;\nimport com.github.jcustenborder.kafka.connect.utils.data.type.TimeTypeParser;\nimport com.github.jcustenborder.kafka.connect.utils.data.type.TimestampTypeParser;\nimport com.github.jcustenborder.kafka.connect.utils.data.type.TypeParser;\nimport com.google.common.collect.ImmutableMap;\nimport org.apache.kafka.connect.data.Date;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.data.Struct;\nimport org.apache.kafka.connect.data.Time;\nimport org.apache.kafka.connect.data.Timestamp;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.List;\nimport java.util.Map;\n\npublic abstract class AbstractSpoolDirSourceTask<CONF extends AbstractSpoolDirSourceConnectorConfig> extends AbstractSourceTask<CONF> {\n  private static final Logger log = LoggerFactory.getLogger(AbstractSpoolDirSourceTask.class);\n  protected Parser parser;\n\n  @Override\n  public void start(Map<String, String> settings) {\n    super.start(settings);\n\n    this.parser = new Parser();\n    Map<Schema, TypeParser> dateTypeParsers = ImmutableMap.of(\n        Timestamp.SCHEMA, new TimestampTypeParser(this.config.parserTimestampTimezone, this.config.parserTimestampDateFormats),\n        Date.SCHEMA, new DateTypeParser(this.config.parserTimestampTimezone, this.config.parserTimestampDateFormats),\n        Time.SCHEMA, new TimeTypeParser(this.config.parserTimestampTimezone, this.config.parserTimestampDateFormats)\n    );\n\n    for (Map.Entry<Schema, TypeParser> kvp : dateTypeParsers.entrySet()) {\n      this.parser.registerTypeParser(kvp.getKey(), kvp.getValue());\n    }\n  }\n\n  protected void addRecord(List<SourceRecord> records, SchemaAndValue key, SchemaAndValue value) {\n    final Long timestamp;\n\n    switch (this.config.timestampMode) {\n      case FIELD:\n        Struct valueStruct = (Struct) value.value();\n        log.trace(\"addRecord() - Reading date from timestamp field '{}'\", this.config.timestampField);\n        final java.util.Date date = (java.util.Date) valueStruct.get(this.config.timestampField);\n        timestamp = date.getTime();\n        break;\n      case FILE_TIME:\n        timestamp = this.inputFile.lastModified();\n        break;\n      case PROCESS_TIME:\n        timestamp = null;\n        break;\n      default:\n        throw new UnsupportedOperationException(\n            String.format(\"Unsupported timestamp mode. %s\", this.config.timestampMode)\n        );\n    }\n\n    SourceRecord sourceRecord = record(\n        key,\n        value,\n        timestamp\n    );\n    recordCount++;\n    records.add(sourceRecord);\n  }\n\n}"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractTaskPartitionerPredicate.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.hash.Hashing;\nimport org.apache.kafka.common.config.ConfigException;\n\nimport java.io.File;\nimport java.util.function.Predicate;\n\nabstract class AbstractTaskPartitionerPredicate implements Predicate<File> {\n  final int index;\n  final int count;\n\n  protected AbstractTaskPartitionerPredicate(int index, int count) {\n    this.index = index;\n    this.count = count;\n  }\n\n  public static Predicate<File> create(AbstractSourceConnectorConfig config) {\n    Predicate<File> result;\n\n    if (config.taskCount == 1) {\n      result = new None(config.taskIndex, config.taskCount);\n    } else {\n      switch (config.taskPartitioner) {\n        case ByName:\n          result = new ByName(config.taskIndex, config.taskCount);\n          break;\n        default:\n          throw new ConfigException(\n              AbstractSourceConnectorConfig.TASK_PARTITIONER_CONF,\n              config.taskPartitioner.toString(),\n              \"Unsupported value\"\n          );\n      }\n    }\n\n    return result;\n  }\n\n  /**\n   * This implementation is used to bypass the check.\n   */\n  static class None extends AbstractTaskPartitionerPredicate {\n    None(int index, int count) {\n      super(index, count);\n    }\n\n    @Override\n    public boolean test(File file) {\n      return true;\n    }\n  }\n\n  /**\n   *\n   */\n  static class ByName extends AbstractTaskPartitionerPredicate {\n\n    protected ByName(int index, int count) {\n      super(index, count);\n    }\n\n    @Override\n    public boolean test(File file) {\n      final int hashcode = Math.abs(\n          Hashing.adler32()\n              .hashUnencodedChars(file.getName())\n              .asInt()\n      );\n      return (hashcode % this.count) == index;\n    }\n  }\n\n\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/CsvSchemaGenerator.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.opencsv.CSVReader;\nimport com.opencsv.CSVReaderBuilder;\nimport com.opencsv.ICSVParser;\nimport org.apache.kafka.connect.data.Schema;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.util.LinkedHashMap;\nimport java.util.Map;\n\npublic class CsvSchemaGenerator extends AbstractSchemaGenerator<SpoolDirCsvSourceConnectorConfig> {\n  private static final Logger log = LoggerFactory.getLogger(CsvSchemaGenerator.class);\n\n  public CsvSchemaGenerator(Map<String, ?> settings) {\n    super(settings);\n  }\n\n  @Override\n  protected SpoolDirCsvSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirCsvSourceConnectorConfig(false, settings);\n  }\n\n  @Override\n  protected Map<String, Schema.Type> determineFieldTypes(InputStream inputStream) throws IOException {\n    Map<String, Schema.Type> typeMap = new LinkedHashMap<>();\n    ICSVParser parserBuilder = this.config.createCSVParserBuilder();\n    try (InputStreamReader reader = new InputStreamReader(inputStream)) {\n      CSVReaderBuilder readerBuilder = this.config.createCSVReaderBuilder(reader, parserBuilder);\n      try (CSVReader csvReader = readerBuilder.build()) {\n        String[] headers = null;\n\n        if (this.config.firstRowAsHeader) {\n          headers = csvReader.readNext();\n        }\n\n        String[] row = csvReader.readNext();\n\n        if (null == headers) {\n          headers = new String[row.length];\n          for (int i = 1; i <= row.length; i++) {\n            headers[(i - 1)] = String.format(\"column%02d\", i);\n          }\n        }\n\n        for (String s : headers) {\n          typeMap.put(s, Schema.Type.STRING);\n        }\n      }\n    }\n    return typeMap;\n  }\n\n\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/FileComparator.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.collect.ComparisonChain;\n\nimport java.io.File;\nimport java.util.Comparator;\nimport java.util.List;\n\nclass FileComparator implements Comparator<File> {\n  final List<AbstractSourceConnectorConfig.FileAttribute> attributes;\n\n  FileComparator(List<AbstractSourceConnectorConfig.FileAttribute> attributes) {\n    this.attributes = attributes;\n  }\n\n  @Override\n  public int compare(File f1, File f2) {\n    ComparisonChain chain = ComparisonChain.start();\n\n    for (AbstractSourceConnectorConfig.FileAttribute fileAttribute : this.attributes) {\n      switch (fileAttribute) {\n        case NameAsc:\n          chain = chain.compare(f1.getName(), f2.getName());\n          break;\n        case NameDesc:\n          chain = chain.compare(f2.getName(), f1.getName());\n          break;\n        case LengthAsc: // We prefer larger files first.\n          chain = chain.compare(f1.length(), f2.length());\n          break;\n        case LengthDesc: // We prefer larger files first.\n          chain = chain.compare(f2.length(), f1.length());\n          break;\n        case LastModifiedAsc:\n          chain = chain.compare(f1.lastModified(), f2.lastModified());\n          break;\n        case LastModifiedDesc:\n          chain = chain.compare(f2.lastModified(), f1.lastModified());\n          break;\n        default:\n          throw new UnsupportedOperationException(\n              String.format(\"%s is not a supported FileAttribute.\", fileAttribute)\n          );\n      }\n    }\n    return chain.result();\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/InputFile.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.collect.ImmutableMap;\nimport com.google.common.io.Files;\nimport org.apache.commons.compress.compressors.CompressorException;\nimport org.apache.commons.compress.compressors.CompressorStreamFactory;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.BufferedInputStream;\nimport java.io.Closeable;\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.io.LineNumberReader;\nimport java.nio.charset.Charset;\nimport java.nio.file.Path;\nimport java.util.ArrayList;\nimport java.util.Collections;\nimport java.util.List;\nimport java.util.Map;\n\npublic class InputFile implements Closeable {\n  private static final Logger log = LoggerFactory.getLogger(InputFile.class);\n  private final File file;\n  private final File processingFlag;\n  private final String name;\n  private final String path;\n  private final long length;\n  private final long lastModified;\n  private final Metadata metadata;\n  private final AbstractSourceConnectorConfig config;\n  private final String inputPathSubDir;\n  InputStreamReader inputStreamReader;\n  LineNumberReader lineNumberReader;\n  InputStream inputStream;\n\n  InputFile(AbstractSourceConnectorConfig config, File file) {\n    this.config = config;\n    this.file = file;\n    this.name = this.file.getName();\n    this.path = this.file.getPath();\n    this.lastModified = this.file.lastModified();\n    this.length = this.file.length();\n    String processingFileName = file.getName() + config.processingFileExtension;\n    this.processingFlag = new File(file.getParentFile(), processingFileName);\n    this.inputPathSubDir = determineRelativePath(file, config.inputPath);\n    this.metadata = new Metadata(file, this.inputPathSubDir);\n  }\n\n  static final Map<String, String> SUPPORTED_COMPRESSION_TYPES = ImmutableMap.of(\n      \"bz2\", CompressorStreamFactory.BZIP2,\n      \"gz\", CompressorStreamFactory.GZIP,\n      \"snappy\", CompressorStreamFactory.SNAPPY_RAW,\n      \"lz4\", CompressorStreamFactory.LZ4_BLOCK,\n      \"z\", CompressorStreamFactory.Z\n  );\n\n\n  private static String determineRelativePath(File inputPath, File inputFile) {\n    Path relative = inputFile.toPath().relativize(inputPath.toPath()); // inputPath.toPath().relativize(inputFile.getParentFile().toPath());\n    String subDir = relative.toString();\n    if (\"\".equals(subDir)) {\n      return null;\n    }\n    return subDir;\n  }\n\n  public String inputPathSubDir() {\n    return this.inputPathSubDir;\n  }\n\n  public File file() {\n    return this.file;\n  }\n\n  public File processingFlag() {\n    return this.processingFlag;\n  }\n\n  public Metadata metadata() {\n    return this.metadata;\n  }\n\n\n  public InputStream inputStream() {\n    return this.inputStream;\n  }\n\n  public InputStream openStream() throws IOException {\n    if (null != this.inputStream) {\n      throw new IOException(\n          String.format(\"File %s is already open\", this.file)\n      );\n    }\n\n    final String extension = Files.getFileExtension(file.getName());\n    log.trace(\"openStream() - fileName = '{}' extension = '{}'\", file, extension);\n    this.inputStream = new FileInputStream(this.file);\n\n    if (this.config.bufferedInputStream) {\n      log.trace(\n          \"openStream() - Wrapping '{}' in a BufferedInputStream with bufferSize = {}\",\n          this.file,\n          this.config.fileBufferSizeBytes\n      );\n      this.inputStream = new BufferedInputStream(this.inputStream, this.config.fileBufferSizeBytes);\n    }\n\n    if (SUPPORTED_COMPRESSION_TYPES.containsKey(extension)) {\n      final String compressor = SUPPORTED_COMPRESSION_TYPES.get(extension);\n      log.info(\"Decompressing {} as {}\", file, compressor);\n      final CompressorStreamFactory compressorStreamFactory = new CompressorStreamFactory();\n      try {\n        this.inputStream = compressorStreamFactory.createCompressorInputStream(\n            compressor,\n            this.inputStream\n        );\n      } catch (CompressorException e) {\n        throw new IOException(\"Exception thrown while creating compressor stream \" + compressor, e);\n      }\n    }\n\n    startProcessing();\n\n    return inputStream;\n  }\n\n  public void startProcessing() throws IOException {\n    log.info(\"Creating processing flag {}\", this.processingFlag);\n    Files.touch(this.processingFlag);\n  }\n\n  public InputStreamReader openInputStreamReader(Charset charset) throws IOException {\n    if (null == this.inputStreamReader) {\n      InputStream inputStream = null != this.inputStream ? this.inputStream : openStream();\n      this.inputStreamReader = new InputStreamReader(inputStream, charset);\n    }\n\n    return this.inputStreamReader;\n  }\n\n  public InputStreamReader inputStreamReader() {\n    return this.inputStreamReader;\n  }\n\n  public LineNumberReader openLineNumberReader(Charset charset) throws IOException {\n    if (null == this.lineNumberReader) {\n      InputStreamReader inputStreamReader = this.inputStreamReader != null ?\n          this.inputStreamReader : openInputStreamReader(charset);\n      this.lineNumberReader = new LineNumberReader(inputStreamReader);\n    }\n    return this.lineNumberReader;\n  }\n\n  public LineNumberReader lineNumberReader() {\n    return this.lineNumberReader;\n  }\n\n\n  @Override\n  public String toString() {\n    return this.file.toString();\n  }\n\n  @Override\n  public void close() throws IOException {\n    if (null != this.lineNumberReader) {\n      this.lineNumberReader.close();\n    }\n    if (null != this.inputStreamReader) {\n      this.inputStreamReader.close();\n    }\n    if (null != this.inputStream) {\n      log.info(\"Closing {}\", this.file);\n      this.inputStream.close();\n    }\n    if (this.processingFlag.exists()) {\n      log.info(\"Removing processing flag {}\", this.processingFlag);\n      if (!this.processingFlag.delete()) {\n        log.warn(\"Could not remove processing flag {}\", this.processingFlag);\n      }\n    }\n  }\n\n  public String getName() {\n    return name;\n  }\n\n  public String getPath() {\n    return path;\n  }\n\n  public long length() {\n    return this.length;\n  }\n\n  public long lastModified() {\n    return this.lastModified;\n  }\n\n  private List<File> getInputPathSubDirsToCleanup() {\n    List<File> inputPathSubDirsToCleanup = null;\n    if (this.inputPathSubDir != null && !config.inputPathWalkRecursivelyRetainSubDirs) {\n      inputPathSubDirsToCleanup = new ArrayList<File>();\n      File lastSubDir = this.config.inputPath;\n      for (String subDirName : this.inputPathSubDir.split(File.separator)) {\n        lastSubDir = new File(lastSubDir, subDirName);\n        inputPathSubDirsToCleanup.add(lastSubDir);\n      }\n      Collections.reverse(inputPathSubDirsToCleanup);\n    }\n    return inputPathSubDirsToCleanup;\n  }\n\n  private void cleanupInputDirSubDirs() {\n    List<File> inputPathSubDirsToCleanup = this.getInputPathSubDirsToCleanup();\n    if (inputPathSubDirsToCleanup != null) {\n      for (File subDir : inputPathSubDirsToCleanup) {\n        try {\n          if (subDir.listFiles() == null || subDir.listFiles().length == 0) {\n            if (!subDir.delete()) {\n              log.error(\"Failed to delete input.path sub-directory: {}\", subDir);\n            } else {\n              log.info(\"Cleaned up input.path sub-directory: {}\", subDir);\n            }\n          } else {\n            log.info(\"Cannot clean up input.path sub-directory as it is not empty: {}\", subDir);\n          }\n        } catch (SecurityException e) {\n          log.error(\"SecurityException thrown while trying to delete input.path sub-directory: {}\", subDir, e);\n        }\n      }\n    }\n  }\n\n\n  public void moveToDirectory(File outputDirectory) {\n\n    if (this.inputPathSubDir != null) {\n      outputDirectory = new File(outputDirectory, this.inputPathSubDir);\n      if (!outputDirectory.isDirectory()) {\n        outputDirectory.mkdirs();\n      }\n    }\n\n    File outputFile = new File(outputDirectory, this.file.getName());\n    try {\n      if (this.file.exists()) {\n        log.info(\"Moving {} to {}\", this.file, outputFile);\n        Files.move(this.file, outputFile);\n      }\n    } catch (IOException e) {\n      log.error(\"Exception thrown while trying to move {} to {}\", this.file, outputFile, e);\n    }\n\n    this.cleanupInputDirSubDirs();\n\n  }\n\n  public void delete() {\n    log.info(\"Deleting {}\", this.file);\n    if (!this.file.delete()) {\n      log.warn(\"Could not delete {}\", this.file);\n    }\n\n    this.cleanupInputDirSubDirs();\n  }\n\n  public boolean exists() {\n    return this.file.exists();\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/InputFileDequeue.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.collect.ForwardingDeque;\nimport com.google.common.io.PatternFilenameFilter;\nimport org.apache.kafka.common.utils.Time;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport java.util.ArrayDeque;\nimport java.util.Arrays;\nimport java.util.Deque;\nimport java.util.function.Predicate;\nimport java.util.stream.Collectors;\nimport java.util.stream.Stream;\n\npublic class InputFileDequeue extends ForwardingDeque<InputFile> {\n  private static final Logger log = LoggerFactory.getLogger(InputFileDequeue.class);\n  private final AbstractSourceConnectorConfig config;\n  private final FileComparator fileComparator;\n  private final Predicate<File> processingFileExists;\n  private final Predicate<File> fileMinimumAge;\n  private final Predicate<File> filePartitionSelector;\n\n\n  public InputFileDequeue(AbstractSourceConnectorConfig config) {\n    this.config = config;\n    this.fileComparator = new FileComparator(config.fileSortAttributes);\n    this.processingFileExists = new ProcessingFileExistsPredicate(config.processingFileExtension);\n    this.fileMinimumAge = new MinimumFileAgePredicate(config.minimumFileAgeMS);\n    this.filePartitionSelector = AbstractTaskPartitionerPredicate.create(config);\n  }\n\n  Deque<InputFile> files;\n\n  static File processingFile(String processingFileExtension, File input) {\n    String fileName = input.getName() + processingFileExtension;\n    return new File(input.getParentFile(), fileName);\n  }\n\n  @Override\n  protected Deque<InputFile> delegate() {\n    if (null != files && !files.isEmpty()) {\n      return files;\n    }\n\n    log.trace(\"delegate() - Searching for file(s) in {}\", this.config.inputPath);\n\n    final File[] input;\n\n    if (this.config.inputPathWalkRecursively) {\n      final PatternFilenameFilter walkerFilenameFilter = this.config.inputFilenameFilter;\n      Predicate<File> filenameFilterPredicate = file -> walkerFilenameFilter.accept(file.getParentFile(), file.getName());\n\n      try (Stream<Path> filesWalk = Files.walk(this.config.inputPath.toPath())) {\n        input = filesWalk.map(Path::toFile)\n            .filter(File::isFile)\n            .filter(filenameFilterPredicate)\n            .toArray(File[]::new);\n      } catch (IOException e) {\n        log.error(\"Unexpected eror walking {}: {}\", this.config.inputPath.toPath(), e.getMessage(), e);\n        return new ArrayDeque<>();\n      }\n    } else {\n      input = this.config.inputPath.listFiles(this.config.inputFilenameFilter);\n    }\n\n    if (null == input || input.length == 0) {\n      log.info(\"No files matching {} were found in {}\", AbstractSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, this.config.inputPath);\n      return new ArrayDeque<>();\n    }\n    log.trace(\"delegate() - Found {} potential file(s).\", input.length);\n    this.files = Arrays.stream(input)\n        .filter(this.filePartitionSelector)\n        .filter(this.processingFileExists)\n        .filter(this.fileMinimumAge)\n        .sorted(this.fileComparator)\n        .map(f -> new InputFile(this.config, f))\n        .collect(Collectors.toCollection(ArrayDeque::new));\n    return this.files;\n  }\n\n\n  static class ProcessingFileExistsPredicate implements Predicate<File> {\n    final String processingFileExtension;\n\n    ProcessingFileExistsPredicate(String processingFileExtension) {\n      this.processingFileExtension = processingFileExtension;\n    }\n\n    @Override\n    public boolean test(File file) {\n      File processingFile = processingFile(this.processingFileExtension, file);\n      log.trace(\"Checking for processing file: {}\", processingFile);\n      return !processingFile.exists();\n    }\n  }\n\n  static class MinimumFileAgePredicate implements Predicate<File> {\n    final long minimumFileAgeMS;\n    final Time time;\n\n    /**\n     * @param minimumFileAgeMS Minimum time since last write in milliseconds.\n     */\n    MinimumFileAgePredicate(long minimumFileAgeMS) {\n      this(minimumFileAgeMS, Time.SYSTEM);\n    }\n\n    /**\n     * Constructor is only used for testing.\n     *\n     * @param minimumFileAgeMS\n     * @param time\n     */\n    MinimumFileAgePredicate(long minimumFileAgeMS, Time time) {\n      this.minimumFileAgeMS = minimumFileAgeMS;\n      this.time = time;\n    }\n\n\n    @Override\n    public boolean test(File file) {\n      long fileAgeMS = this.time.milliseconds() - file.lastModified();\n\n      if (fileAgeMS < 0L) {\n        log.warn(\"File {} has a date in the future.\", file);\n      }\n      if (fileAgeMS >= this.minimumFileAgeMS) {\n        return true;\n      } else {\n        log.debug(\"Skipping {} because it does not meet the minimum age.\", file);\n        return false;\n      }\n    }\n  }\n\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/JsonSchemaGenerator.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.fasterxml.jackson.core.JsonFactory;\nimport com.fasterxml.jackson.core.JsonParser;\nimport com.fasterxml.jackson.databind.JsonNode;\nimport com.github.jcustenborder.kafka.connect.utils.jackson.ObjectMapperFactory;\nimport org.apache.kafka.connect.data.Schema;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.Iterator;\nimport java.util.LinkedHashMap;\nimport java.util.Map;\n\npublic class JsonSchemaGenerator extends AbstractSchemaGenerator<SpoolDirJsonSourceConnectorConfig> {\n  public JsonSchemaGenerator(Map<String, ?> settings) {\n    super(settings);\n  }\n\n  @Override\n  protected SpoolDirJsonSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirJsonSourceConnectorConfig(false, settings);\n  }\n\n  @Override\n  protected Map<String, Schema.Type> determineFieldTypes(InputStream inputStream) throws IOException {\n    Map<String, Schema.Type> typeMap = new LinkedHashMap<>();\n\n    JsonFactory factory = new JsonFactory();\n    try (JsonParser parser = factory.createParser(inputStream)) {\n      Iterator<JsonNode> iterator = ObjectMapperFactory.INSTANCE.readValues(parser, JsonNode.class);\n      while (iterator.hasNext()) {\n        JsonNode node = iterator.next();\n        if (node.isObject()) {\n          Iterator<String> fieldNames = node.fieldNames();\n          while (fieldNames.hasNext()) {\n            typeMap.put(fieldNames.next(), Schema.Type.STRING);\n          }\n          break;\n        }\n      }\n    }\n\n    return typeMap;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/Metadata.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.collect.ImmutableMap;\nimport com.google.common.io.Files;\nimport org.apache.kafka.connect.header.ConnectHeaders;\nimport org.apache.kafka.connect.header.Headers;\n\nimport java.io.File;\nimport java.util.Date;\nimport java.util.LinkedHashMap;\nimport java.util.Map;\n\n/**\n * Class is used to write metadata for the InputFile.\n */\nclass Metadata {\n  static final String HEADER_PATH = \"file.path\";\n  static final String HEADER_PARENT_DIR_NAME = \"file.parent.dir.name\";\n  static final String HEADER_NAME = \"file.name\";\n  static final String HEADER_NAME_WITHOUT_EXTENSION = \"file.name.without.extension\";\n  static final String HEADER_LAST_MODIFIED = \"file.last.modified\";\n  static final String HEADER_LENGTH = \"file.length\";\n  static final String HEADER_OFFSET = \"file.offset\";\n  static final String HEADER_FILE_RELATIVE_PATH = \"file.relative.path\";\n\n  final String path;\n  final String name;\n  final String nameWithoutExtension;\n  final Date lastModified;\n  final long length;\n  final String relativePath;\n  String parentDirName = null;\n\n\n  public static final Map<String, String> HEADER_DESCRIPTIONS;\n\n  static {\n    Map<String, String> result = new LinkedHashMap<>();\n    result.put(HEADER_PATH, \"The absolute path to the file ingested.\");\n    result.put(HEADER_PARENT_DIR_NAME, \"The parent directory name of the file ingested\");\n    result.put(HEADER_NAME, \"The name part of the file ingested.\");\n    result.put(HEADER_NAME_WITHOUT_EXTENSION, \"The file name without the extension part of the file.\");\n    result.put(HEADER_LAST_MODIFIED, \"The last modified date of the file.\");\n    result.put(HEADER_LENGTH, \"The size of the file in bytes.\");\n    result.put(HEADER_OFFSET, \"The offset for this piece of data within the file.\");\n    result.put(HEADER_FILE_RELATIVE_PATH, \"The file's parent sub-directory relative from the input.path.\");\n    HEADER_DESCRIPTIONS = ImmutableMap.copyOf(result);\n  }\n\n  public static final String HEADER_DOCS;\n\n  static {\n    StringBuilder builder = new StringBuilder();\n\n    HEADER_DESCRIPTIONS.forEach((key, value) -> {\n      builder.append(\"* `\");\n      builder.append(key);\n      builder.append(\"` - \");\n      builder.append(value);\n      builder.append('\\n');\n    });\n    HEADER_DOCS = builder.toString();\n  }\n\n\n\n  public Metadata(File file, String relativePath) {\n    this.path = file.getAbsolutePath();\n    this.name = file.getName();\n    this.lastModified = new Date(file.lastModified());\n    this.length = file.length();\n    this.nameWithoutExtension = Files.getNameWithoutExtension(this.name);\n\n    if (file.getParentFile() != null) {\n      this.parentDirName = file.getParentFile().getName();\n    }\n    \n    this.relativePath = relativePath;\n  }\n\n  /**\n   * Method is used to copy metadata from the file to the headers of the file.\n   *\n   * @return Returns a Headers object populated with the metadata from the file.\n   */\n  public Headers headers(long offset) {\n    ConnectHeaders headers = new ConnectHeaders();\n    headers.addString(HEADER_NAME, this.name);\n    headers.addString(HEADER_NAME_WITHOUT_EXTENSION, this.nameWithoutExtension);\n    headers.addString(HEADER_PATH, this.path);\n    headers.addString(HEADER_PARENT_DIR_NAME, this.parentDirName);\n    headers.addLong(HEADER_LENGTH, this.length);\n    headers.addLong(HEADER_OFFSET, offset);\n    headers.addTimestamp(HEADER_LAST_MODIFIED, this.lastModified);\n\n    if (this.relativePath != null) {\n      headers.addString(HEADER_FILE_RELATIVE_PATH, this.relativePath);\n    }\n\n    return headers;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirAvroSourceConnector.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.Description;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationImportant;\nimport com.github.jcustenborder.kafka.connect.utils.config.Title;\nimport org.apache.kafka.common.config.ConfigDef;\nimport org.apache.kafka.connect.connector.Task;\n\nimport java.util.Map;\n\n@Title(\"Avro Source Connector\")\n@Description(\"This connector is used to read avro data files from the file system and write their contents \" +\n    \"to Kafka. The schema of the file is used to read the data and produce it to Kafka\")\n@DocumentationImportant(\"This connector has a dependency on the Confluent Schema Registry specifically kafka-connect-avro-converter. \" +\n    \"This dependency is not shipped along with the connector to ensure that there are not potential version mismatch issues. \" +\n    \"The easiest way to ensure this component is available is to use one of the Confluent packages or containers for deployment.\")\npublic class SpoolDirAvroSourceConnector extends AbstractSourceConnector<SpoolDirAvroSourceConnectorConfig> {\n  @Override\n  protected SpoolDirAvroSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirAvroSourceConnectorConfig(settings);\n  }\n\n  @Override\n  public Class<? extends Task> taskClass() {\n    return SpoolDirAvroSourceTask.class;\n  }\n\n  @Override\n  public ConfigDef config() {\n    return SpoolDirAvroSourceConnectorConfig.config();\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirAvroSourceConnectorConfig.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.apache.kafka.common.config.ConfigDef;\n\nimport java.util.Map;\n\npublic class SpoolDirAvroSourceConnectorConfig extends AbstractSourceConnectorConfig {\n\n\n  public SpoolDirAvroSourceConnectorConfig(Map<?, ?> originals) {\n    super(config(), originals, true);\n  }\n\n  public static ConfigDef config() {\n    return AbstractSourceConnectorConfig.config(true);\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirAvroSourceTask.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport io.confluent.connect.avro.AvroData;\nimport org.apache.avro.file.DataFileReader;\nimport org.apache.avro.generic.GenericContainer;\nimport org.apache.avro.generic.GenericDatumReader;\nimport org.apache.avro.io.DatumReader;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\n\npublic class SpoolDirAvroSourceTask extends AbstractSourceTask<SpoolDirAvroSourceConnectorConfig> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirAvroSourceTask.class);\n  long recordOffset;\n  AvroData avroData = new AvroData(1024);\n  DataFileReader<GenericContainer> dataFileReader;\n  DatumReader<GenericContainer> datumReader = new GenericDatumReader<>();\n\n\n  @Override\n  protected SpoolDirAvroSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirAvroSourceConnectorConfig(settings);\n  }\n\n  @Override\n  protected void configure(InputFile inputFile, Long lastOffset) throws IOException {\n    if (null != this.dataFileReader) {\n      this.dataFileReader.close();\n    }\n    inputFile.startProcessing();\n    this.dataFileReader = new DataFileReader<>(inputFile.file(), datumReader);\n    this.recordOffset = 0;\n\n    if (null != lastOffset) {\n      while (recordOffset < lastOffset && this.dataFileReader.hasNext()) {\n        this.dataFileReader.next();\n        recordOffset++;\n      }\n    }\n\n  }\n\n  @Override\n  protected List<SourceRecord> process() throws IOException {\n    int recordCount = 0;\n    List<SourceRecord> records = new ArrayList<>(this.config.batchSize);\n    GenericContainer container = null;\n    while (recordCount <= this.config.batchSize && dataFileReader.hasNext()) {\n      container = dataFileReader.next(container);\n      SchemaAndValue value = avroData.toConnectData(this.dataFileReader.getSchema(), container);\n      SourceRecord sourceRecord = record(null, value, null);\n      records.add(sourceRecord);\n      recordCount++;\n      recordOffset++;\n    }\n    return records;\n  }\n\n  @Override\n  protected long recordOffset() {\n    return recordOffset;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirBinaryFileSourceConnector.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.Description;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationImportant;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationWarning;\nimport com.github.jcustenborder.kafka.connect.utils.config.Title;\nimport org.apache.kafka.common.config.ConfigDef;\nimport org.apache.kafka.connect.connector.Task;\n\nimport java.util.Map;\n\n@Title(\"Binary File Source Connector\")\n@Description(\"This connector is used to read an entire file as a byte array write the data to Kafka.\")\n@DocumentationImportant(\"The recommended converter to use is the ByteArrayConverter. \" +\n    \"Example: `value.converter=org.apache.kafka.connect.storage.ByteArrayConverter`\")\n@DocumentationWarning(\"Large files will be read as a single byte array. This means that the process could \" +\n    \"run out of memory or try to send a message to Kafka that is greater than the max message size. If this happens \" +\n    \"an exception will be thrown.\")\npublic class SpoolDirBinaryFileSourceConnector extends AbstractSourceConnector<SpoolDirBinaryFileSourceConnectorConfig> {\n  @Override\n  protected SpoolDirBinaryFileSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirBinaryFileSourceConnectorConfig(settings);\n  }\n\n  @Override\n  public Class<? extends Task> taskClass() {\n    return SpoolDirBinaryFileSourceTask.class;\n  }\n\n  @Override\n  public ConfigDef config() {\n    return SpoolDirBinaryFileSourceConnectorConfig.config();\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirBinaryFileSourceConnectorConfig.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.apache.kafka.common.config.ConfigDef;\n\nimport java.util.Map;\n\npublic class SpoolDirBinaryFileSourceConnectorConfig extends AbstractSourceConnectorConfig {\n  public SpoolDirBinaryFileSourceConnectorConfig(Map<?, ?> originals) {\n    super(config(), originals, true);\n  }\n\n  public static ConfigDef config() {\n    return AbstractSourceConnectorConfig.config(true);\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirBinaryFileSourceTask.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.ByteStreams;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\n\npublic class SpoolDirBinaryFileSourceTask extends AbstractSourceTask<SpoolDirBinaryFileSourceConnectorConfig> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirBinaryFileSourceTask.class);\n\n  @Override\n  protected SpoolDirBinaryFileSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirBinaryFileSourceConnectorConfig(settings);\n  }\n\n  @Override\n  protected void configure(InputFile inputFile, Long lastOffset) throws IOException {\n    inputFile.openStream();\n  }\n\n  @Override\n  protected List<SourceRecord> process() throws IOException {\n    List<SourceRecord> records = new ArrayList<>(1);\n\n    if (this.inputFile.inputStream().available() > 0) {\n      byte[] buffer = ByteStreams.toByteArray(this.inputFile.inputStream());\n      records.add(\n          record(\n              null,\n              new SchemaAndValue(Schema.BYTES_SCHEMA, buffer),\n              null\n          )\n      );\n    }\n    return records;\n  }\n\n  @Override\n  protected long recordOffset() {\n    return 0;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceConnector.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.Description;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationImportant;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationTip;\nimport com.github.jcustenborder.kafka.connect.utils.config.Title;\nimport org.apache.kafka.common.config.ConfigDef;\nimport org.apache.kafka.connect.connector.Task;\n\nimport java.util.Map;\n\n@Title(\"CSV Source Connector\")\n@Description(\"The SpoolDirCsvSourceConnector will monitor the directory specified in `input.path` for files and read them as a CSV \" +\n    \"converting each of the records to the strongly typed equivalent specified in `key.schema` and `value.schema`.\")\n@DocumentationTip(\"To get a starting point for a schema you can use the following command to generate an all String schema. This \" +\n    \"will give you the basic structure of a schema. From there you can changes the types to match what you expect.\\n\\n\" +\n    \".. code-block:: bash\\n\\n\" +\n    \"   mvn clean package\\n\" +\n    \"   export CLASSPATH=\\\"$(find target/kafka-connect-target/usr/share/kafka-connect/kafka-connect-spooldir -type f -name '*.jar' | tr '\\\\n' ':')\\\"\\n\" +\n    \"   kafka-run-class com.github.jcustenborder.kafka.connect.spooldir.AbstractSchemaGenerator -t csv -f src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/FieldsMatch.data -c config/CSVExample.properties -i id\\n\" +\n    \"\")\n@DocumentationImportant(\"There are some caveats to running this connector with `\" + SpoolDirCsvSourceConnectorConfig.SCHEMA_GENERATION_ENABLED_CONF +\n    \" = true`. If schema generation is enabled the connector will start by reading one of the files that match `\" + SpoolDirCsvSourceConnectorConfig.INPUT_FILE_PATTERN_CONF +\n    \"` in the path specified by `\" + SpoolDirCsvSourceConnectorConfig.INPUT_PATH_CONFIG + \"`. If there are no files when the connector starts or is restarted \" +\n    \"the connector will fail to start. If there are different fields in other files they will not be detected. The recommended path is to specify a schema that the \" +\n    \"files will be parsed with. This will ensure that data written by this connector to Kafka will be consistent across files that have inconsistent columns. For example \" +\n    \"if some files have an optional column that is not always included, create a schema that includes the column marked as optional.\")\npublic class SpoolDirCsvSourceConnector extends AbstractSpoolDirSourceConnector<SpoolDirCsvSourceConnectorConfig> {\n  @Override\n  protected SpoolDirCsvSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirCsvSourceConnectorConfig(false, settings);\n  }\n\n  @Override\n  protected AbstractSchemaGenerator<SpoolDirCsvSourceConnectorConfig> generator(Map<String, String> settings) {\n    return new CsvSchemaGenerator(settings);\n  }\n\n  @Override\n  public Class<? extends Task> taskClass() {\n    return SpoolDirCsvSourceTask.class;\n  }\n\n  @Override\n  public ConfigDef config() {\n    return SpoolDirCsvSourceConnectorConfig.config();\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceConnectorConfig.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.ConfigKeyBuilder;\nimport com.github.jcustenborder.kafka.connect.utils.config.ConfigUtils;\nimport com.github.jcustenborder.kafka.connect.utils.config.ValidEnum;\nimport com.google.common.base.Joiner;\nimport com.google.common.base.Preconditions;\nimport com.opencsv.CSVParser;\nimport com.opencsv.CSVParserBuilder;\nimport com.opencsv.CSVReader;\nimport com.opencsv.CSVReaderBuilder;\nimport com.opencsv.ICSVParser;\nimport com.opencsv.RFC4180ParserBuilder;\nimport com.opencsv.enums.CSVReaderNullFieldIndicator;\nimport org.apache.kafka.common.config.ConfigDef;\nimport org.apache.kafka.connect.errors.DataException;\n\nimport java.io.Reader;\nimport java.nio.charset.Charset;\nimport java.util.Map;\n\nclass SpoolDirCsvSourceConnectorConfig extends AbstractSpoolDirSourceConnectorConfig {\n\n  //CSVRecordProcessorConfig\n  public static final String CSV_SKIP_LINES_CONF = \"csv.skip.lines\";\n  public static final String CSV_SEPARATOR_CHAR_CONF = \"csv.separator.char\";\n  public static final String CSV_QUOTE_CHAR_CONF = \"csv.quote.char\";\n  public static final String CSV_ESCAPE_CHAR_CONF = \"csv.escape.char\";\n  public static final String CSV_STRICT_QUOTES_CONF = \"csv.strict.quotes\";\n  public static final String CSV_IGNORE_LEADING_WHITESPACE_CONF = \"csv.ignore.leading.whitespace\";\n  public static final String CSV_IGNORE_QUOTATIONS_CONF = \"csv.ignore.quotations\";\n  public static final String CSV_KEEP_CARRIAGE_RETURN_CONF = \"csv.keep.carriage.return\";\n  public static final String CSV_VERIFY_READER_CONF = \"csv.verify.reader\";\n  public static final String CSV_NULL_FIELD_INDICATOR_CONF = \"csv.null.field.indicator\";\n  public static final String CSV_FIRST_ROW_AS_HEADER_CONF = \"csv.first.row.as.header\";\n  public static final String CSV_CHARSET_CONF = \"csv.file.charset\";\n  public static final String CSV_CASE_SENSITIVE_FIELD_NAMES_CONF = \"csv.case.sensitive.field.names\";\n  public static final String CSV_USE_RFC_4180_PARSER_CONF = \"csv.rfc.4180.parser.enabled\";\n  static final String CSV_SKIP_LINES_DISPLAY = \"Skip lins\";\n  static final String CSV_SEPARATOR_CHAR_DISPLAY = \"Separator Character\";\n  static final String CSV_QUOTE_CHAR_DISPLAY = \"Quote Character\";\n  static final String CSV_ESCAPE_CHAR_DISPLAY = \"Escape Character\";\n  static final String CSV_STRICT_QUOTES_DISPLAY = \"Strict Quotes\";\n  static final String CSV_IGNORE_LEADING_WHITESPACE_DISPLAY = \"Ignore leading whitespace\";\n  static final String CSV_IGNORE_QUOTATIONS_DISPLAY = \"Ignore quotations\";\n  static final String CSV_KEEP_CARRIAGE_RETURN_DISPLAY = \"Preserve Carriage Return?\";\n  static final String CSV_VERIFY_READER_DISPLAY = \"Verify reader\";\n  static final String CSV_NULL_FIELD_INDICATOR_DISPLAY = \"Null field indicator\";\n  static final String CSV_FIRST_ROW_AS_HEADER_DISPLAY = \"Treat first row as header.\";\n  static final String CSV_CHARSET_DISPLAY = \"File character set.\";\n  static final String CSV_CASE_SENSITIVE_FIELD_NAMES_DISPLAY = \"Case sensitive field names.\";\n  static final String CSV_USE_RFC_4180_PARSER_DISPLAY = \"Flag to determine if the RFC 4180 should be \" +\n      \"used instead.\";\n  static final Object CSV_USE_RFC_4180_PARSER_DEFAULT = false;\n\n\n  static final String CSV_SKIP_LINES_DOC = \"Number of lines to skip in the beginning of the file.\";\n  static final int CSV_SKIP_LINES_DEFAULT = CSVReader.DEFAULT_SKIP_LINES;\n  static final String CSV_SEPARATOR_CHAR_DOC = \"The character that separates each field in the form \" +\n      \"of an integer. Typically in a CSV this is a ,(44) character. A TSV would use a tab(9) character. \" +\n      \"If `\" + CSV_SEPARATOR_CHAR_CONF + \"` is defined as a null(0), then the RFC 4180 parser must be \" +\n      \"utilized by default. This is the equivalent of `\" + CSV_USE_RFC_4180_PARSER_CONF + \" = true`.\";\n  static final int CSV_SEPARATOR_CHAR_DEFAULT = CSVParser.DEFAULT_SEPARATOR;\n  static final int CSV_QUOTE_CHAR_DEFAULT = CSVParser.DEFAULT_QUOTE_CHARACTER;\n  static final String CSV_ESCAPE_CHAR_DOC = \"The character as an integer to use when a special \" +\n      \"character is encountered. The default escape character is typically a \\\\(92)\";\n  static final int CSV_ESCAPE_CHAR_DEFAULT = CSVParser.DEFAULT_ESCAPE_CHARACTER;\n  static final String CSV_STRICT_QUOTES_DOC = \"Sets the strict quotes setting - if true, characters outside the quotes are ignored.\";\n  static final boolean CSV_STRICT_QUOTES_DEFAULT = CSVParser.DEFAULT_STRICT_QUOTES;\n  static final String CSV_IGNORE_LEADING_WHITESPACE_DOC = \"Sets the ignore leading whitespace setting - if true, white space in front of a quote in a field is ignored.\";\n  static final boolean CSV_IGNORE_LEADING_WHITESPACE_DEFAULT = CSVParser.DEFAULT_IGNORE_LEADING_WHITESPACE;\n  static final String CSV_IGNORE_QUOTATIONS_DOC = \"Sets the ignore quotations mode - if true, quotations are ignored.\";\n  static final boolean CSV_IGNORE_QUOTATIONS_DEFAULT = CSVParser.DEFAULT_IGNORE_QUOTATIONS;\n  static final String CSV_KEEP_CARRIAGE_RETURN_DOC = \"Flag to determine if the carriage return at the end of the line should be maintained.\";\n  static final boolean CSV_KEEP_CARRIAGE_RETURN_DEFAULT = CSVReader.DEFAULT_KEEP_CR;\n  static final String CSV_VERIFY_READER_DOC = \"Flag to determine if the reader should be verified.\";\n  static final boolean CSV_VERIFY_READER_DEFAULT = CSVReader.DEFAULT_VERIFY_READER;\n  static final String CSV_NULL_FIELD_INDICATOR_DOC = \"Indicator to determine how the CSV Reader can determine if a field is null. Valid values are \" + ConfigUtils.enumValues(CSVReaderNullFieldIndicator.class)\n      + \". For more information see http://opencsv.sourceforge.net/apidocs/com/opencsv/enums/CSVReaderNullFieldIndicator.html.\";\n  static final String CSV_NULL_FIELD_INDICATOR_DEFAULT = CSVParser.DEFAULT_NULL_FIELD_INDICATOR.name();\n  static final String CSV_FIRST_ROW_AS_HEADER_DOC = \"Flag to indicate if the fist row of data contains the header of the file. \" +\n      \"If true the position of the columns will be determined by the first row to the CSV. The column position will be inferred \" +\n      \"from the position of the schema supplied in `\" + VALUE_SCHEMA_CONF + \"`. If set to true the number of columns must be \" +\n      \"greater than or equal to the number of fields in the schema.\";\n  static final boolean CSV_FIRST_ROW_AS_HEADER_DEFAULT = false;\n  static final String CSV_CHARSET_DOC = \"Character set to read wth file with.\";\n  static final String CSV_CHARSET_DEFAULT = Charset.defaultCharset().name();\n\n  static final String CSV_CASE_SENSITIVE_FIELD_NAMES_DOC = \"Flag to determine if the field names in the header row should be treated as case sensitive.\";\n  static final String CSV_USE_RFC_4180_PARSER_DOC = \"Flag to determine if the RFC 4180 parser should be used instead of the default parser.\";\n  static final String CSV_GROUP = \"CSV Parsing\";\n  private static final String CSV_QUOTE_CHAR_DOC = \"The character that is used to quote a field. This typically happens when the \" + CSV_SEPARATOR_CHAR_CONF + \" character is within the data.\";\n  private static final Character NULL_CHAR = (char) 0;\n  public final int skipLines;\n  public final char separatorChar;\n  public final char quoteChar;\n  public final char escapeChar;\n  public final boolean ignoreLeadingWhitespace;\n  public final boolean ignoreQuotations;\n  public final boolean strictQuotes;\n  public final boolean keepCarriageReturn;\n  public final boolean verifyReader;\n  public final CSVReaderNullFieldIndicator nullFieldIndicator;\n  public final boolean firstRowAsHeader;\n  public final Charset charset;\n  public final boolean caseSensitiveFieldNames;\n  public final boolean useRFC4180Parser;\n\n  public SpoolDirCsvSourceConnectorConfig(final boolean isTask, Map<String, ?> settings) {\n    super(isTask, true, config(), settings);\n    this.skipLines = this.getInt(SpoolDirCsvSourceConnectorConfig.CSV_SKIP_LINES_CONF);\n    this.separatorChar = this.getChar(SpoolDirCsvSourceConnectorConfig.CSV_SEPARATOR_CHAR_CONF);\n    this.quoteChar = this.getChar(SpoolDirCsvSourceConnectorConfig.CSV_QUOTE_CHAR_CONF);\n    this.escapeChar = this.getChar(SpoolDirCsvSourceConnectorConfig.CSV_ESCAPE_CHAR_CONF);\n    this.ignoreLeadingWhitespace = this.getBoolean(SpoolDirCsvSourceConnectorConfig.CSV_IGNORE_LEADING_WHITESPACE_CONF);\n    this.ignoreQuotations = this.getBoolean(SpoolDirCsvSourceConnectorConfig.CSV_IGNORE_QUOTATIONS_CONF);\n    this.strictQuotes = this.getBoolean(SpoolDirCsvSourceConnectorConfig.CSV_STRICT_QUOTES_CONF);\n    this.keepCarriageReturn = this.getBoolean(SpoolDirCsvSourceConnectorConfig.CSV_KEEP_CARRIAGE_RETURN_CONF);\n    this.verifyReader = this.getBoolean(SpoolDirCsvSourceConnectorConfig.CSV_VERIFY_READER_CONF);\n    this.nullFieldIndicator = ConfigUtils.getEnum(CSVReaderNullFieldIndicator.class, this, SpoolDirCsvSourceConnectorConfig.CSV_NULL_FIELD_INDICATOR_CONF);\n    this.firstRowAsHeader = this.getBoolean(SpoolDirCsvSourceConnectorConfig.CSV_FIRST_ROW_AS_HEADER_CONF);\n\n    this.charset = ConfigUtils.charset(this, SpoolDirCsvSourceConnectorConfig.CSV_CHARSET_CONF);\n\n    this.caseSensitiveFieldNames = this.getBoolean(SpoolDirCsvSourceConnectorConfig.CSV_CASE_SENSITIVE_FIELD_NAMES_CONF);\n    this.useRFC4180Parser = this.getBoolean(CSV_USE_RFC_4180_PARSER_CONF);\n  }\n\n  static ConfigDef config() {\n\n    return AbstractSpoolDirSourceConnectorConfig.config(true)\n        .define(\n            ConfigKeyBuilder.of(CSV_SKIP_LINES_CONF, ConfigDef.Type.INT)\n                .defaultValue(CSV_SKIP_LINES_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_SKIP_LINES_DOC)\n                .group(CSV_GROUP)\n                .width(ConfigDef.Width.LONG)\n                .displayName(CSV_SKIP_LINES_DISPLAY)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_SEPARATOR_CHAR_CONF, ConfigDef.Type.INT)\n                .defaultValue(CSV_SEPARATOR_CHAR_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_SEPARATOR_CHAR_DOC)\n                .group(CSV_GROUP)\n                .width(ConfigDef.Width.LONG)\n                .displayName(CSV_SEPARATOR_CHAR_DISPLAY)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_QUOTE_CHAR_CONF, ConfigDef.Type.INT)\n                .defaultValue(CSV_QUOTE_CHAR_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_QUOTE_CHAR_DOC)\n                .group(CSV_GROUP)\n                .width(ConfigDef.Width.LONG)\n                .displayName(CSV_QUOTE_CHAR_DISPLAY)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_ESCAPE_CHAR_CONF, ConfigDef.Type.INT)\n                .defaultValue(CSV_ESCAPE_CHAR_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_ESCAPE_CHAR_DOC)\n                .group(CSV_GROUP)\n                .displayName(CSV_ESCAPE_CHAR_DISPLAY)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_STRICT_QUOTES_CONF, ConfigDef.Type.BOOLEAN)\n                .defaultValue(CSV_STRICT_QUOTES_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_STRICT_QUOTES_DOC)\n                .displayName(CSV_STRICT_QUOTES_DISPLAY)\n                .group(CSV_GROUP)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_IGNORE_LEADING_WHITESPACE_CONF, ConfigDef.Type.BOOLEAN)\n                .defaultValue(CSV_IGNORE_LEADING_WHITESPACE_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_IGNORE_LEADING_WHITESPACE_DOC)\n                .group(CSV_GROUP)\n                .displayName(CSV_IGNORE_LEADING_WHITESPACE_DISPLAY)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_IGNORE_QUOTATIONS_CONF, ConfigDef.Type.BOOLEAN)\n                .defaultValue(CSV_IGNORE_QUOTATIONS_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_IGNORE_QUOTATIONS_DOC)\n                .displayName(CSV_IGNORE_QUOTATIONS_DISPLAY)\n                .group(CSV_GROUP)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_KEEP_CARRIAGE_RETURN_CONF, ConfigDef.Type.BOOLEAN)\n                .defaultValue(CSV_KEEP_CARRIAGE_RETURN_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_KEEP_CARRIAGE_RETURN_DOC)\n                .displayName(CSV_KEEP_CARRIAGE_RETURN_DISPLAY)\n                .group(CSV_GROUP)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_VERIFY_READER_CONF, ConfigDef.Type.BOOLEAN)\n                .defaultValue(CSV_VERIFY_READER_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_VERIFY_READER_DOC)\n                .group(CSV_GROUP)\n                .displayName(CSV_VERIFY_READER_DISPLAY)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_NULL_FIELD_INDICATOR_CONF, ConfigDef.Type.STRING)\n                .defaultValue(CSV_NULL_FIELD_INDICATOR_DEFAULT)\n                .validator(ValidEnum.of(CSVReaderNullFieldIndicator.class))\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_NULL_FIELD_INDICATOR_DOC)\n                .displayName(CSV_NULL_FIELD_INDICATOR_DISPLAY)\n                .group(CSV_GROUP)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_FIRST_ROW_AS_HEADER_CONF, ConfigDef.Type.BOOLEAN)\n                .defaultValue(CSV_FIRST_ROW_AS_HEADER_DEFAULT)\n                .importance(ConfigDef.Importance.MEDIUM)\n                .documentation(CSV_FIRST_ROW_AS_HEADER_DOC)\n                .displayName(CSV_FIRST_ROW_AS_HEADER_DISPLAY)\n                .group(CSV_GROUP)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_CHARSET_CONF, ConfigDef.Type.STRING)\n                .defaultValue(CSV_CHARSET_DEFAULT)\n                .validator(CharsetValidator.of())\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_CHARSET_DOC)\n                .displayName(CSV_CHARSET_DISPLAY)\n                .group(CSV_GROUP)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_CASE_SENSITIVE_FIELD_NAMES_CONF, ConfigDef.Type.BOOLEAN)\n                .defaultValue(false)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_CASE_SENSITIVE_FIELD_NAMES_DOC)\n                .displayName(CSV_CASE_SENSITIVE_FIELD_NAMES_DISPLAY)\n                .build()\n        )\n        .define(\n            ConfigKeyBuilder.of(CSV_USE_RFC_4180_PARSER_CONF, ConfigDef.Type.BOOLEAN)\n                .defaultValue(CSV_USE_RFC_4180_PARSER_DEFAULT)\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CSV_USE_RFC_4180_PARSER_DOC)\n                .displayName(CSV_USE_RFC_4180_PARSER_DISPLAY)\n                .build()\n        );\n  }\n\n  final char getChar(String key) {\n    int intValue = this.getInt(key);\n    return (char) intValue;\n  }\n\n  public ICSVParser createCSVParserBuilder() {\n    final ICSVParser result;\n\n    if (NULL_CHAR.equals(this.separatorChar) || this.useRFC4180Parser) {\n      result = new RFC4180ParserBuilder()\n          .withQuoteChar(this.quoteChar)\n          .withSeparator(this.separatorChar)\n          .withFieldAsNull(this.nullFieldIndicator)\n          .build();\n    } else {\n      result = new CSVParserBuilder()\n          .withEscapeChar(this.escapeChar)\n          .withIgnoreLeadingWhiteSpace(this.ignoreLeadingWhitespace)\n          .withIgnoreQuotations(this.ignoreQuotations)\n          .withQuoteChar(this.quoteChar)\n          .withSeparator(this.separatorChar)\n          .withStrictQuotes(this.strictQuotes)\n          .withFieldAsNull(this.nullFieldIndicator)\n          .build();\n    }\n\n    return result;\n  }\n\n  public CSVReaderBuilder createCSVReaderBuilder(Reader reader, ICSVParser parser) {\n    return new CSVReaderBuilder(reader)\n        .withCSVParser(parser)\n        .withKeepCarriageReturn(this.keepCarriageReturn)\n        .withSkipLines(this.skipLines)\n        .withVerifyReader(this.verifyReader)\n        .withFieldAsNull(nullFieldIndicator);\n  }\n\n  @Override\n  public boolean schemasRequired() {\n    return true;\n  }\n\n  static class CharsetValidator implements ConfigDef.Validator {\n    static CharsetValidator of() {\n      return new CharsetValidator();\n    }\n\n    @Override\n    public void ensureValid(String s, Object o) {\n      try {\n        Preconditions.checkState(o instanceof String);\n        String input = (String) o;\n        Charset.forName(input);\n      } catch (IllegalArgumentException e) {\n        throw new DataException(\n            String.format(\"Charset '%s' is invalid for %s\", o, s),\n            e\n        );\n      }\n    }\n\n    @Override\n    public String toString() {\n      return Joiner.on(\",\").join(Charset.availableCharsets().keySet());\n    }\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceTask.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.base.Joiner;\nimport com.opencsv.CSVReader;\nimport com.opencsv.CSVReaderBuilder;\nimport com.opencsv.ICSVParser;\nimport org.apache.kafka.connect.data.Field;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.data.Struct;\nimport org.apache.kafka.connect.errors.DataException;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\n\npublic class SpoolDirCsvSourceTask extends AbstractSpoolDirSourceTask<SpoolDirCsvSourceConnectorConfig> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirCsvSourceTask.class);\n  String[] fieldNames;\n  private ICSVParser csvParser;\n  private CSVReader csvReader;\n//  private InputStreamReader streamReader;\n\n  @Override\n  protected SpoolDirCsvSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirCsvSourceConnectorConfig(true, settings);\n  }\n\n  @Override\n  protected void configure(InputFile inputFile, final Long lastOffset) throws IOException {\n    log.trace(\"configure() - creating csvParser\");\n    this.csvParser = this.config.createCSVParserBuilder();\n    InputStreamReader streamReader = inputFile.openInputStreamReader(this.config.charset);\n    CSVReaderBuilder csvReaderBuilder = this.config.createCSVReaderBuilder(streamReader, csvParser);\n    this.csvReader = csvReaderBuilder.build();\n\n    String[] fieldNames;\n\n    if (this.config.firstRowAsHeader) {\n      log.trace(\"configure() - Reading the header row.\");\n      fieldNames = this.csvReader.readNext();\n      log.info(\"configure() - field names from header row. fields = {}\", Joiner.on(\", \").join(fieldNames));\n    } else {\n      log.trace(\"configure() - Using fields from schema {}\", this.config.valueSchema.name());\n      fieldNames = new String[this.config.valueSchema.fields().size()];\n      int index = 0;\n      for (Field field : this.config.valueSchema.fields()) {\n        fieldNames[index++] = field.name();\n      }\n      log.info(\"configure() - field names from schema order. fields = {}\", Joiner.on(\", \").join(fieldNames));\n    }\n\n    if (null != lastOffset) {\n      log.info(\"Found previous offset. Skipping {} line(s).\", lastOffset.intValue());\n      String[] row = null;\n      while (null != (row = this.csvReader.readNext()) && this.csvReader.getLinesRead() < lastOffset) {\n        log.trace(\"skipped row\");\n      }\n    }\n\n    this.fieldNames = fieldNames;\n  }\n\n  @Override\n  public void start(Map<String, String> settings) {\n    super.start(settings);\n  }\n\n  @Override\n  public long recordOffset() {\n    final long result;\n    if (null == this.csvReader) {\n      result = -1L;\n    } else {\n      result = this.csvReader.getLinesRead() - this.config.skipLines -\n          (this.config.firstRowAsHeader ? 1 : 0);\n    }\n    return result;\n  }\n\n  @Override\n  public List<SourceRecord> process() throws IOException {\n    List<SourceRecord> records = new ArrayList<>(this.config.batchSize);\n\n    while (records.size() < this.config.batchSize) {\n      String[] row = this.csvReader.readNext();\n\n      if (null == row) {\n        break;\n      }\n      if (row.length == 1 && null == row[0]) {\n        break;\n      }\n      log.trace(\"process() - Row on line {} has {} field(s)\", recordOffset(), row.length);\n\n      Struct keyStruct = new Struct(this.config.keySchema);\n      Struct valueStruct = new Struct(this.config.valueSchema);\n\n      for (int i = 0; i < this.fieldNames.length; i++) {\n        String fieldName = this.fieldNames[i];\n        log.trace(\"process() - Processing field {}\", fieldName);\n        String input = row[i];\n        log.trace(\"process() - input = '{}'\", input);\n        Object fieldValue = null;\n\n        try {\n          Field field = this.config.valueSchema.field(fieldName);\n          if (null != field) {\n            fieldValue = this.parser.parseString(field.schema(), input);\n            log.trace(\"process() - output = '{}'\", fieldValue);\n            valueStruct.put(field, fieldValue);\n          } else {\n            log.trace(\"process() - Field {} is not defined in the schema.\", fieldName);\n          }\n        } catch (Exception ex) {\n          String message = String.format(\"Exception thrown while parsing data for '%s'. linenumber=%s\", fieldName, this.recordOffset());\n          throw new DataException(message, ex);\n        }\n\n        Field keyField = this.config.keySchema.field(fieldName);\n        if (null != keyField) {\n          log.trace(\"process() - Setting key field '{}' to '{}'\", keyField.name(), fieldValue);\n          keyStruct.put(keyField, fieldValue);\n        }\n      }\n\n      if (log.isInfoEnabled() && this.csvReader.getLinesRead() % ((long) this.config.batchSize * 20) == 0) {\n        log.info(\"Processed {} lines of {}\", this.csvReader.getLinesRead(), this.inputFile);\n      }\n\n      addRecord(\n          records,\n          new SchemaAndValue(keyStruct.schema(), keyStruct),\n          new SchemaAndValue(valueStruct.schema(), valueStruct)\n      );\n\n\n    }\n    return records;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirJsonSourceConnector.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.Description;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationImportant;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationNote;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationTip;\nimport com.github.jcustenborder.kafka.connect.utils.config.Title;\nimport org.apache.kafka.common.config.ConfigDef;\nimport org.apache.kafka.connect.connector.Task;\n\nimport java.util.Map;\n\n@Title(\"Json Source Connector\")\n@Description(\"This connector is used to `stream <https://en.wikipedia.org/wiki/JSON_Streaming>` JSON files from a directory \" +\n    \"while converting the data based on the schema supplied in the configuration.\")\n@DocumentationTip(\"To get a starting point for a schema you can use the following command to generate an all String schema. This \" +\n    \"will give you the basic structure of a schema. From there you can changes the types to match what you expect.\\n\" +\n    \".. code-block:: bash\\n\\n\" +\n    \"   mvn clean package\\n\" +\n    \"   export CLASSPATH=\\\"$(find target/kafka-connect-target/usr/share/kafka-connect/kafka-connect-spooldir -type f -name '*.jar' | tr '\\\\n' ':')\\\"\\n\" +\n    \"   kafka-run-class com.github.jcustenborder.kafka.connect.spooldir.AbstractSchemaGenerator -t json -f src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/FieldsMatch.data -c config/JsonExample.properties -i id\\n\" +\n    \"\")\n@DocumentationImportant(\"There are some caveats to running this connector with `\" + SpoolDirCsvSourceConnectorConfig.SCHEMA_GENERATION_ENABLED_CONF +\n    \" = true`. If schema generation is enabled the connector will start by reading one of the files that match `\" + SpoolDirCsvSourceConnectorConfig.INPUT_FILE_PATTERN_CONF +\n    \"` in the path specified by `\" + SpoolDirCsvSourceConnectorConfig.INPUT_PATH_CONFIG + \"`. If there are no files when the connector starts or is restarted \" +\n    \"the connector will fail to start. If there are different fields in other files they will not be detected. The recommended path is to specify a schema that the \" +\n    \"files will be parsed with. This will ensure that data written by this connector to Kafka will be consistent across files that have inconsistent columns. For example \" +\n    \"if some files have an optional column that is not always included, create a schema that includes the column marked as optional.\")\n@DocumentationNote(\"If you want to import JSON node by node in the file and do not care about schemas, do not use this connector with Schema Generation enabled. \" +\n    \"Take a look at the Schema Less Json Source Connector.\")\npublic class SpoolDirJsonSourceConnector extends AbstractSpoolDirSourceConnector<SpoolDirJsonSourceConnectorConfig> {\n  @Override\n  protected SpoolDirJsonSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirJsonSourceConnectorConfig(false, settings);\n  }\n\n  @Override\n  protected AbstractSchemaGenerator<SpoolDirJsonSourceConnectorConfig> generator(Map<String, String> settings) {\n    return new JsonSchemaGenerator(settings);\n  }\n\n  @Override\n  public Class<? extends Task> taskClass() {\n    return SpoolDirJsonSourceTask.class;\n  }\n\n  @Override\n  public ConfigDef config() {\n    return SpoolDirJsonSourceConnectorConfig.config();\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirJsonSourceConnectorConfig.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.apache.kafka.common.config.ConfigDef;\n\nimport java.util.Map;\n\nclass SpoolDirJsonSourceConnectorConfig extends AbstractSpoolDirSourceConnectorConfig {\n  public SpoolDirJsonSourceConnectorConfig(final boolean isTask, Map<String, ?> settings) {\n    super(isTask, true, config(), settings);\n  }\n\n  @Override\n  public boolean schemasRequired() {\n    return true;\n  }\n\n  public static ConfigDef config() {\n    return AbstractSpoolDirSourceConnectorConfig.config(true);\n  }\n\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirJsonSourceTask.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.fasterxml.jackson.core.JsonFactory;\nimport com.fasterxml.jackson.core.JsonParser;\nimport com.fasterxml.jackson.databind.JsonNode;\nimport com.github.jcustenborder.kafka.connect.utils.jackson.ObjectMapperFactory;\nimport org.apache.kafka.connect.data.Field;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.data.Struct;\nimport org.apache.kafka.connect.errors.DataException;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.ArrayList;\nimport java.util.Iterator;\nimport java.util.List;\nimport java.util.Map;\n\npublic class SpoolDirJsonSourceTask extends AbstractSpoolDirSourceTask<SpoolDirJsonSourceConnectorConfig> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirJsonSourceTask.class);\n  JsonFactory jsonFactory;\n  JsonParser jsonParser;\n  Iterator<JsonNode> iterator;\n  long offset;\n\n  @Override\n  protected SpoolDirJsonSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirJsonSourceConnectorConfig(true, settings);\n  }\n\n  @Override\n  public void start(Map<String, String> settings) {\n    super.start(settings);\n    this.jsonFactory = new JsonFactory();\n  }\n\n  @Override\n  protected void configure(InputFile inputFile, Long lastOffset) throws IOException {\n    if (null != jsonParser) {\n      log.trace(\"configure() - Closing existing json parser.\");\n      jsonParser.close();\n    }\n    InputStream inputStream = inputFile.openStream();\n    this.jsonParser = this.jsonFactory.createParser(inputStream);\n    this.iterator = ObjectMapperFactory.INSTANCE.readValues(this.jsonParser, JsonNode.class);\n    this.offset = -1;\n\n    if (null != lastOffset) {\n      int skippedRecords = 1;\n      while (this.iterator.hasNext() && skippedRecords <= lastOffset) {\n        next();\n        skippedRecords++;\n      }\n      log.trace(\"configure() - Skipped {} record(s).\", skippedRecords);\n      log.info(\"configure() - Starting on offset {}\", this.offset);\n    }\n\n  }\n\n  JsonNode next() {\n    this.offset++;\n    return this.iterator.next();\n  }\n\n  @Override\n  protected List<SourceRecord> process() {\n    List<SourceRecord> records = new ArrayList<>(this.config.batchSize);\n\n    while (this.iterator.hasNext() && records.size() < this.config.batchSize) {\n      JsonNode node = next();\n\n      Struct valueStruct = new Struct(this.config.valueSchema);\n      Struct keyStruct = new Struct(this.config.keySchema);\n      log.trace(\"process() - input = {}\", node);\n      for (Field field : this.config.valueSchema.fields()) {\n        JsonNode fieldNode = node.get(field.name());\n        log.trace(\"process() - field: {} input = '{}'\", field.name(), fieldNode);\n        Object fieldValue;\n        try {\n          fieldValue = this.parser.parseJsonNode(field.schema(), fieldNode);\n          log.trace(\"process() - field: {} output = '{}'\", field.name(), fieldValue);\n          valueStruct.put(field, fieldValue);\n\n          Field keyField = this.config.keySchema.field(field.name());\n          if (null != keyField) {\n            log.trace(\"process() - Setting key field '{}' to '{}'\", keyField.name(), fieldValue);\n            keyStruct.put(keyField, fieldValue);\n          }\n        } catch (Exception ex) {\n          String message = String.format(\"Exception thrown while parsing data for '%s'. linenumber=%s\", field.name(), this.recordOffset());\n          throw new DataException(message, ex);\n        }\n      }\n\n      addRecord(\n          records,\n          new SchemaAndValue(keyStruct.schema(), keyStruct),\n          new SchemaAndValue(valueStruct.schema(), valueStruct)\n      );\n    }\n\n    return records;\n  }\n\n  @Override\n  protected long recordOffset() {\n    return this.offset;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirLineDelimitedSourceConnector.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.Description;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationImportant;\nimport com.github.jcustenborder.kafka.connect.utils.config.Title;\nimport org.apache.kafka.common.config.ConfigDef;\nimport org.apache.kafka.connect.connector.Task;\n\nimport java.util.Map;\n\n@Title(\"Line Delimited Source Connector\")\n@Description(\"This connector is used to read a file line by line and write the data to Kafka.\")\n@DocumentationImportant(\"The recommended converter to use is the StringConverter. \" +\n    \"Example: `value.converter=org.apache.kafka.connect.storage.StringConverter`\")\npublic class SpoolDirLineDelimitedSourceConnector extends AbstractSourceConnector<SpoolDirLineDelimitedSourceConnectorConfig> {\n  @Override\n  protected SpoolDirLineDelimitedSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirLineDelimitedSourceConnectorConfig(settings);\n  }\n\n  @Override\n  public Class<? extends Task> taskClass() {\n    return SpoolDirLineDelimitedSourceTask.class;\n  }\n\n  @Override\n  public ConfigDef config() {\n    return SpoolDirLineDelimitedSourceConnectorConfig.config();\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirLineDelimitedSourceConnectorConfig.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.ConfigKeyBuilder;\nimport com.github.jcustenborder.kafka.connect.utils.config.ConfigUtils;\nimport org.apache.kafka.common.config.ConfigDef;\n\nimport java.nio.charset.Charset;\nimport java.util.Map;\n\npublic class SpoolDirLineDelimitedSourceConnectorConfig extends AbstractSourceConnectorConfig {\n  public static final String CHARSET_CONF = \"file.charset\";\n  static final String CHARSET_DOC = \"Character set to read wth file with.\";\n  static final String CHARSET_DEFAULT = Charset.defaultCharset().name();\n  static final String CHARSET_DISPLAY = \"File character set.\";\n\n  public final Charset charset;\n\n  public SpoolDirLineDelimitedSourceConnectorConfig(Map<?, ?> originals) {\n    super(config(), originals, true);\n    this.charset = ConfigUtils.charset(this, CHARSET_CONF);\n  }\n\n  public static ConfigDef config() {\n    return AbstractSourceConnectorConfig.config(true)\n        .define(\n            ConfigKeyBuilder.of(CHARSET_CONF, ConfigDef.Type.STRING)\n                .defaultValue(CHARSET_DEFAULT)\n                .validator(SpoolDirCsvSourceConnectorConfig.CharsetValidator.of())\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CHARSET_DOC)\n                .displayName(CHARSET_DISPLAY)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        );\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirLineDelimitedSourceTask.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\n\npublic class SpoolDirLineDelimitedSourceTask extends AbstractSourceTask<SpoolDirLineDelimitedSourceConnectorConfig> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirLineDelimitedSourceTask.class);\n\n  @Override\n  protected SpoolDirLineDelimitedSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirLineDelimitedSourceConnectorConfig(settings);\n  }\n\n  @Override\n  protected void configure(InputFile inputFile, Long lastOffset) throws IOException {\n    this.inputFile.openLineNumberReader(this.config.charset);\n  }\n\n  @Override\n  protected List<SourceRecord> process() throws IOException {\n    int recordCount = 0;\n    List<SourceRecord> records = new ArrayList<>(this.config.batchSize);\n    String line = null;\n    while (recordCount < this.config.batchSize && null != (line = this.inputFile.lineNumberReader().readLine())) {\n      SourceRecord record = record(\n          null,\n          new SchemaAndValue(Schema.STRING_SCHEMA, line),\n          null\n      );\n      records.add(record);\n      recordCount++;\n    }\n    return records;\n  }\n\n  @Override\n  protected long recordOffset() {\n    long result = -1L;\n\n    if (null != this.inputFile && null != this.inputFile.lineNumberReader()) {\n      result = this.inputFile.lineNumberReader().getLineNumber();\n    }\n\n    return result;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirSchemaLessJsonSourceConnector.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.Description;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationImportant;\nimport com.github.jcustenborder.kafka.connect.utils.config.Title;\nimport org.apache.kafka.common.config.ConfigDef;\nimport org.apache.kafka.connect.connector.Task;\n\nimport java.util.Map;\n\n@Title(\"Schema Less Json Source Connector\")\n@Description(\"This connector is used to `stream <https://en.wikipedia.org/wiki/JSON_Streaming>_` JSON files from a directory. \" +\n    \"This connector will read each file node by node writing each node as a record in Kafka.\" +\n    \"For example if your data file contains several json objects the connector will read from { to } \" +\n    \"for each object and write each object to Kafka.\")\n@DocumentationImportant(\"This connector does not try to convert the json records to a schema. \" +\n    \"The recommended converter to use is the StringConverter. \" +\n    \"Example: `value.converter=org.apache.kafka.connect.storage.StringConverter`\")\npublic class SpoolDirSchemaLessJsonSourceConnector extends AbstractSourceConnector<SpoolDirSchemaLessJsonSourceConnectorConfig> {\n  @Override\n  protected SpoolDirSchemaLessJsonSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirSchemaLessJsonSourceConnectorConfig(settings);\n  }\n\n  @Override\n  public Class<? extends Task> taskClass() {\n    return SpoolDirSchemaLessJsonSourceTask.class;\n  }\n\n  @Override\n  public ConfigDef config() {\n    return SpoolDirSchemaLessJsonSourceConnectorConfig.config();\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirSchemaLessJsonSourceConnectorConfig.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.ConfigKeyBuilder;\nimport com.github.jcustenborder.kafka.connect.utils.config.ConfigUtils;\nimport org.apache.kafka.common.config.ConfigDef;\n\nimport java.nio.charset.Charset;\nimport java.util.Map;\n\npublic class SpoolDirSchemaLessJsonSourceConnectorConfig extends AbstractSourceConnectorConfig {\n  public static final String CHARSET_CONF = \"file.charset\";\n  static final String CHARSET_DOC = \"Character set to read wth file with.\";\n  static final String CHARSET_DEFAULT = Charset.defaultCharset().name();\n  static final String CHARSET_DISPLAY = \"File character set.\";\n\n  public final Charset charset;\n\n  public SpoolDirSchemaLessJsonSourceConnectorConfig(Map<?, ?> originals) {\n    super(config(), originals, true);\n    this.charset = ConfigUtils.charset(this, CHARSET_CONF);\n  }\n\n  public static ConfigDef config() {\n    return AbstractSourceConnectorConfig.config(true)\n        .define(\n            ConfigKeyBuilder.of(CHARSET_CONF, ConfigDef.Type.STRING)\n                .defaultValue(CHARSET_DEFAULT)\n                .validator(SpoolDirCsvSourceConnectorConfig.CharsetValidator.of())\n                .importance(ConfigDef.Importance.LOW)\n                .documentation(CHARSET_DOC)\n                .displayName(CHARSET_DISPLAY)\n                .width(ConfigDef.Width.LONG)\n                .build()\n        );\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirSchemaLessJsonSourceTask.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.fasterxml.jackson.core.JsonParser;\nimport com.fasterxml.jackson.databind.JsonNode;\nimport com.fasterxml.jackson.databind.MappingIterator;\nimport com.github.jcustenborder.kafka.connect.utils.jackson.ObjectMapperFactory;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\n\npublic class SpoolDirSchemaLessJsonSourceTask extends AbstractSourceTask<SpoolDirSchemaLessJsonSourceConnectorConfig> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirSchemaLessJsonSourceTask.class);\n\n  @Override\n  protected SpoolDirSchemaLessJsonSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirSchemaLessJsonSourceConnectorConfig(settings);\n  }\n\n  JsonParser parser;\n  MappingIterator<JsonNode> nodeIterator;\n\n  long recordOffset;\n\n  @Override\n  protected void configure(InputFile inputFile, Long lastOffset) throws IOException {\n    if (null != this.parser) {\n      this.parser.close();\n    }\n    this.recordOffset = 0;\n    InputStream inputStream = inputFile.openStream();\n    this.parser = ObjectMapperFactory.INSTANCE.getJsonFactory().createParser(inputStream);\n    this.nodeIterator = ObjectMapperFactory.INSTANCE.readValues(this.parser, JsonNode.class);\n\n  }\n\n  @Override\n  protected List<SourceRecord> process() throws IOException {\n    int recordCount = 0;\n    List<SourceRecord> records = new ArrayList<>(this.config.batchSize);\n    while (recordCount < this.config.batchSize && this.nodeIterator.hasNext()) {\n      JsonNode node = this.nodeIterator.next();\n      String value = ObjectMapperFactory.INSTANCE.writeValueAsString(node);\n      SourceRecord record = record(\n          null,\n          new SchemaAndValue(Schema.STRING_SCHEMA, value),\n          null\n      );\n      records.add(record);\n      recordCount++;\n      recordOffset++;\n    }\n    return records;\n  }\n\n  @Override\n  protected long recordOffset() {\n    return this.recordOffset;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/SchemaConversion.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf;\n\nimport com.github.jcustenborder.kafka.connect.spooldir.elf.converters.LogFieldConverter;\nimport com.github.jcustenborder.parsers.elf.LogEntry;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.data.Struct;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.List;\n\npublic class SchemaConversion {\n  private static final Logger log = LoggerFactory.getLogger(SchemaConversion.class);\n  private final Schema valueSchema;\n  private final List<LogFieldConverter> valueConverters;\n\n  SchemaConversion(Schema valueSchema, List<LogFieldConverter> valueConverters) {\n    this.valueSchema = valueSchema;\n    this.valueConverters = valueConverters;\n  }\n\n\n  static SchemaAndValue convert(Schema schema, List<LogFieldConverter> converters, LogEntry entry) {\n    final SchemaAndValue result;\n    if (null == schema) {\n      result = SchemaAndValue.NULL;\n    } else {\n      Struct struct = new Struct(schema);\n      for (LogFieldConverter converter : converters) {\n        converter.convert(entry, struct);\n      }\n      struct.validate();\n      result = new SchemaAndValue(schema, struct);\n    }\n    return result;\n  }\n\n  public SchemaAndValue convert(LogEntry entry) {\n    final SchemaAndValue value = convert(this.valueSchema, this.valueConverters, entry);\n    return value;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/SchemaConversionBuilder.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf;\n\nimport com.github.jcustenborder.kafka.connect.spooldir.elf.converters.LogFieldConverter;\nimport com.github.jcustenborder.kafka.connect.spooldir.elf.converters.LogFieldConverterFactory;\nimport com.github.jcustenborder.parsers.elf.ElfParser;\nimport com.google.common.base.Preconditions;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaBuilder;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.time.LocalDate;\nimport java.time.LocalTime;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\n\npublic class SchemaConversionBuilder {\n  private static final Logger log = LoggerFactory.getLogger(SchemaConversionBuilder.class);\n  final ElfParser parser;\n\n  public SchemaConversionBuilder(ElfParser parser) {\n    this.parser = parser;\n  }\n\n  static String normalizeFieldName(String fieldName) {\n    Preconditions.checkNotNull(fieldName, \"fieldname cannot be null.\");\n    final String result = fieldName.replace('(', '_')\n        .replace(\")\", \"\")\n        .replace('-', '_')\n        .toLowerCase();\n    return result;\n  }\n\n\n  public SchemaConversion build() {\n    log.trace(\"build() - Building SchemaConversion\");\n\n    final SchemaBuilder valueBuilder = SchemaBuilder.struct();\n    valueBuilder.name(\"com.github.jcustenborder.kafka.connect.spooldir.LogEntry\");\n\n    LogFieldConverterFactory factory = new LogFieldConverterFactory();\n    List<LogFieldConverter> valueConverters = new ArrayList<>();\n\n    for (Map.Entry<String, Class<?>> entry : this.parser.fieldTypes().entrySet()) {\n      final String logFieldName = entry.getKey();\n      final Class<?> logFieldClass = entry.getValue();\n      final String connectFieldName = normalizeFieldName(logFieldName);\n      log.trace(\"build() - Mapping log field '{}' to schema field '{}'\", logFieldName, connectFieldName);\n      final LogFieldConverter converter = factory.create(\n          valueBuilder,\n          logFieldClass,\n          logFieldName,\n          connectFieldName\n      );\n      valueConverters.add(converter);\n    }\n\n    if (LocalDate.class.equals(this.parser.fieldTypes().get(\"date\")) && LocalTime.class.equals(this.parser.fieldTypes().get(\"time\"))) {\n      log.trace(\"build() - found date and time field. Creating datetime field.\");\n      final LogFieldConverter converter = factory.createDateTime(\n          valueBuilder,\n          \"date\",\n          \"time\",\n          \"datetime\"\n      );\n      valueConverters.add(converter);\n    }\n\n    final Schema valueSchema = valueBuilder.build();\n\n    return new SchemaConversion(valueSchema, valueConverters);\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/SpoolDirELFSourceConnector.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf;\n\nimport com.github.jcustenborder.kafka.connect.spooldir.AbstractSourceConnectorConfig;\nimport com.github.jcustenborder.kafka.connect.utils.VersionUtil;\nimport com.github.jcustenborder.kafka.connect.utils.config.Description;\nimport com.github.jcustenborder.kafka.connect.utils.config.Title;\nimport org.apache.kafka.common.config.ConfigDef;\nimport org.apache.kafka.connect.connector.Task;\nimport org.apache.kafka.connect.source.SourceConnector;\n\nimport java.util.ArrayList;\nimport java.util.LinkedHashMap;\nimport java.util.List;\nimport java.util.Map;\n\n@Title(\"Extended Log File Format Source Connector\")\n@Description(\"This connector is used to stream `Extended Log File Format <https://www.w3.org/TR/WD-logfile.html>` \" +\n    \"files from a directory while converting the data to a strongly typed schema.\")\npublic class SpoolDirELFSourceConnector extends SourceConnector {\n\n  @Override\n  public List<Map<String, String>> taskConfigs(int taskCount) {\n    List<Map<String, String>> result = new ArrayList<>();\n\n    for (int i = 0; i < taskCount; i++) {\n      Map<String, String> taskConfig = new LinkedHashMap<>(this.settings);\n      taskConfig.put(AbstractSourceConnectorConfig.TASK_INDEX_CONF, Integer.toString(i));\n      taskConfig.put(AbstractSourceConnectorConfig.TASK_COUNT_CONF, Integer.toString(taskCount));\n      result.add(taskConfig);\n    }\n\n    return result;\n  }\n\n  @Override\n  public void stop() {\n\n  }\n\n  @Override\n  public String version() {\n    return VersionUtil.version(this.getClass());\n  }\n\n  Map<String, String> settings;\n\n  @Override\n  public void start(Map<String, String> settings) {\n    SpoolDirELFSourceConnectorConfig config = new SpoolDirELFSourceConnectorConfig(settings);\n    this.settings = settings;\n  }\n\n  @Override\n  public Class<? extends Task> taskClass() {\n    return SpoolDirELFSourceTask.class;\n  }\n\n  @Override\n  public ConfigDef config() {\n    return SpoolDirELFSourceConnectorConfig.config(true);\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/SpoolDirELFSourceConnectorConfig.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf;\n\nimport com.github.jcustenborder.kafka.connect.spooldir.AbstractSourceConnectorConfig;\nimport org.apache.kafka.common.config.ConfigDef;\n\nimport java.util.Map;\n\nclass SpoolDirELFSourceConnectorConfig extends AbstractSourceConnectorConfig {\n\n  public SpoolDirELFSourceConnectorConfig(Map<String, ?> settings) {\n    super(config(true), settings, true);\n  }\n\n  public static ConfigDef config(boolean bufferedInputStream) {\n    return AbstractSourceConnectorConfig.config(bufferedInputStream);\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/SpoolDirELFSourceTask.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf;\n\nimport com.github.jcustenborder.kafka.connect.spooldir.AbstractSourceTask;\nimport com.github.jcustenborder.kafka.connect.spooldir.InputFile;\nimport com.github.jcustenborder.parsers.elf.ElfParser;\nimport com.github.jcustenborder.parsers.elf.ElfParserBuilder;\nimport com.github.jcustenborder.parsers.elf.LogEntry;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.errors.ConnectException;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\n\npublic class SpoolDirELFSourceTask extends AbstractSourceTask<SpoolDirELFSourceConnectorConfig> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirELFSourceTask.class);\n  ElfParser parser;\n  ElfParserBuilder parserBuilder;\n  SchemaConversion conversion;\n  long offset;\n\n  @Override\n  protected SpoolDirELFSourceConnectorConfig config(Map<String, ?> settings) {\n    return new SpoolDirELFSourceConnectorConfig(settings);\n  }\n\n  @Override\n  public void start(Map<String, String> settings) {\n    super.start(settings);\n    this.parserBuilder = ElfParserBuilder.of();\n  }\n\n\n  @Override\n  protected void configure(InputFile inputFile, Long lastOffset) throws IOException {\n    if (null != this.parser) {\n      log.trace(\"configure() - Closing existing parser.\");\n      this.parser.close();\n    }\n    InputStream inputStream = inputFile.openStream();\n    this.parser = this.parserBuilder.build(inputStream);\n    SchemaConversionBuilder builder = new SchemaConversionBuilder(this.parser);\n    this.conversion = builder.build();\n\n    this.offset = -1;\n\n    if (null != lastOffset) {\n      int skippedRecords = 1;\n      while (null != next() && skippedRecords <= lastOffset) {\n        skippedRecords++;\n      }\n      log.trace(\"configure() - Skipped {} record(s).\", skippedRecords);\n      log.info(\"configure() - Starting on offset {}\", this.offset);\n    }\n  }\n\n  LogEntry next() throws IOException {\n    this.offset++;\n    return this.parser.next();\n  }\n\n  @Override\n  protected List<SourceRecord> process() {\n    int recordCount = 0;\n    List<SourceRecord> records = new ArrayList<>(this.config.batchSize);\n\n    LogEntry entry;\n    try {\n      while (null != (entry = next()) && recordCount < this.config.batchSize) {\n        log.trace(\"process() - Processing LogEntry: {}\", entry);\n        SchemaAndValue value = conversion.convert(entry);\n        SourceRecord record = record(SchemaAndValue.NULL, value, null);\n        records.add(record);\n        recordCount++;\n      }\n    } catch (IOException ex) {\n      throw new ConnectException(ex);\n    }\n    return records;\n  }\n\n  @Override\n  protected long recordOffset() {\n    return this.offset;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/converters/LocalDateLogFieldConverter.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf.converters;\n\nimport org.apache.kafka.connect.data.Field;\n\nimport java.sql.Date;\nimport java.time.Instant;\nimport java.time.LocalDate;\nimport java.time.ZoneId;\n\npublic class LocalDateLogFieldConverter extends LogFieldConverter {\n  private static final ZoneId ZONE_ID = ZoneId.of(\"UTC\");\n\n  @Override\n  protected Object convert(Object input) {\n    final LocalDate localDate = (LocalDate) input;\n    final Instant instant = localDate.atStartOfDay(ZONE_ID).toInstant();\n    return Date.from(instant);\n  }\n\n  public LocalDateLogFieldConverter(String logFieldName, Field field) {\n    super(logFieldName, field);\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/converters/LocalTimeLogFieldConverter.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf.converters;\n\nimport org.apache.kafka.connect.data.Field;\n\nimport java.sql.Date;\nimport java.time.Instant;\nimport java.time.LocalDate;\nimport java.time.LocalTime;\nimport java.time.ZoneOffset;\n\npublic class LocalTimeLogFieldConverter extends LogFieldConverter {\n  private static final LocalDate EPOCH_DATE = LocalDate.ofEpochDay(0);\n\n  @Override\n  protected Object convert(Object input) {\n    final LocalTime localTime = (LocalTime) input;\n    final Instant instant = localTime.atDate(EPOCH_DATE).toInstant(ZoneOffset.UTC);\n    return Date.from(instant);\n  }\n\n  public LocalTimeLogFieldConverter(String logFieldName, Field field) {\n    super(logFieldName, field);\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/converters/LogFieldConverter.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf.converters;\n\nimport com.github.jcustenborder.parsers.elf.LogEntry;\nimport org.apache.kafka.connect.data.Field;\nimport org.apache.kafka.connect.data.Struct;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\npublic abstract class LogFieldConverter {\n  private static final Logger log = LoggerFactory.getLogger(LogFieldConverter.class);\n  protected final String logFieldName;\n  protected final Field field;\n\n  protected abstract Object convert(Object input);\n\n  public LogFieldConverter(String logFieldName, Field field) {\n    this.logFieldName = logFieldName;\n    this.field = field;\n  }\n\n  public void convert(LogEntry logEntry, Struct struct) {\n    final Object input = logEntry.fieldData().get(this.logFieldName);\n    final Object output;\n    if (null == input) {\n      output = null;\n    } else {\n      output = convert(input);\n    }\n\n    log.trace(\"convert() - Setting {} to {}\", field.name(), output);\n    struct.put(this.field, output);\n  }\n\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/converters/LogFieldConverterFactory.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf.converters;\n\nimport org.apache.kafka.connect.data.Date;\nimport org.apache.kafka.connect.data.Field;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaBuilder;\nimport org.apache.kafka.connect.data.Time;\nimport org.apache.kafka.connect.data.Timestamp;\n\nimport java.time.LocalDate;\nimport java.time.LocalTime;\n\npublic class LogFieldConverterFactory {\n\n  static Schema schema(Class<?> logClass, String logFieldName) {\n    final SchemaBuilder builder;\n    if (LocalDate.class.equals(logClass)) {\n      builder = Date.builder();\n    } else if (LocalTime.class.equals(logClass)) {\n      builder = Time.builder();\n    } else if (Integer.class.equals(logClass)) {\n      builder = SchemaBuilder.int32();\n    } else if (Long.class.equals(logClass)) {\n      builder = SchemaBuilder.int64();\n    } else if (String.class.equals(logClass)) {\n      builder = SchemaBuilder.string();\n    } else {\n      throw new UnsupportedOperationException(\n          String.format(\"%s is not a supported type.\", logClass.getName())\n      );\n    }\n    builder.optional();\n\n\n    return builder.build();\n  }\n\n  private static final String LOGFIELD_PARAM = \"logField\";\n\n  public LogFieldConverter create(\n      SchemaBuilder builder,\n      Class<?> logClass,\n      String logFieldName,\n      String schemaFieldName) {\n\n    final Schema fieldSchema;\n    final Field field;\n    final LogFieldConverter converter;\n\n    if (LocalDate.class.equals(logClass)) {\n      fieldSchema = Date.builder()\n          .optional()\n          .parameter(LOGFIELD_PARAM, logFieldName)\n          .build();\n      builder.field(schemaFieldName, fieldSchema);\n      field = builder.field(schemaFieldName);\n      converter = new LocalDateLogFieldConverter(logFieldName, field);\n    } else if (LocalTime.class.equals(logClass)) {\n      fieldSchema = Time.builder()\n          .optional()\n          .parameter(LOGFIELD_PARAM, logFieldName)\n          .build();\n      builder.field(schemaFieldName, fieldSchema);\n      field = builder.field(schemaFieldName);\n      converter = new LocalTimeLogFieldConverter(logFieldName, field);\n    } else if (Integer.class.equals(logClass)) {\n      fieldSchema = SchemaBuilder.int32()\n          .optional()\n          .parameter(LOGFIELD_PARAM, logFieldName)\n          .build();\n      builder.field(schemaFieldName, fieldSchema);\n      field = builder.field(schemaFieldName);\n      converter = new PrimitiveLogFieldConverter(logFieldName, field);\n    } else if (Long.class.equals(logClass)) {\n      fieldSchema = SchemaBuilder.int64()\n          .optional()\n          .parameter(LOGFIELD_PARAM, logFieldName)\n          .build();\n      builder.field(schemaFieldName, fieldSchema);\n      field = builder.field(schemaFieldName);\n      converter = new PrimitiveLogFieldConverter(logFieldName, field);\n    } else if (String.class.equals(logClass)) {\n      fieldSchema = SchemaBuilder.string()\n          .optional()\n          .parameter(LOGFIELD_PARAM, logFieldName)\n          .build();\n      builder.field(schemaFieldName, fieldSchema);\n      field = builder.field(schemaFieldName);\n      converter = new PrimitiveLogFieldConverter(logFieldName, field);\n    } else if (Double.class.equals(logClass)) {\n      fieldSchema = SchemaBuilder.float64()\n          .optional()\n          .parameter(LOGFIELD_PARAM, logFieldName)\n          .build();\n      builder.field(schemaFieldName, fieldSchema);\n      field = builder.field(schemaFieldName);\n      converter = new PrimitiveLogFieldConverter(logFieldName, field);\n    } else {\n      throw new UnsupportedOperationException(\n          String.format(\"%s is not a supported type.\", logClass.getName())\n      );\n    }\n\n    return converter;\n  }\n\n  public LogFieldConverter createDateTime(SchemaBuilder builder, String logEntryDateField, String logEntryTimeField, String connectTimestampField) {\n    final Schema fieldSchema = Timestamp.builder()\n        .optional()\n        .parameter(LOGFIELD_PARAM, String.format(\"%s,%s\", logEntryDateField, logEntryTimeField))\n        .build();\n    builder.field(connectTimestampField, fieldSchema);\n    final Field field = builder.field(connectTimestampField);\n    final LogFieldConverter converter = new TimestampLogFieldConverter(\n        field,\n        logEntryTimeField,\n        logEntryDateField\n    );\n    return converter;\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/converters/PrimitiveLogFieldConverter.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf.converters;\n\nimport org.apache.kafka.connect.data.Field;\n\npublic class PrimitiveLogFieldConverter extends LogFieldConverter {\n  @Override\n  protected Object convert(Object input) {\n    return input;\n  }\n\n  public PrimitiveLogFieldConverter(String logFieldName, Field field) {\n    super(logFieldName, field);\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/elf/converters/TimestampLogFieldConverter.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf.converters;\n\nimport com.github.jcustenborder.parsers.elf.LogEntry;\nimport org.apache.kafka.connect.data.Field;\nimport org.apache.kafka.connect.data.Struct;\n\nimport java.sql.Date;\nimport java.time.Instant;\nimport java.time.LocalDate;\nimport java.time.LocalTime;\nimport java.time.ZoneOffset;\n\npublic class TimestampLogFieldConverter extends LogFieldConverter {\n  private final String timeField;\n  private final String dateField;\n\n  public TimestampLogFieldConverter(Field field, String timeField, String dateField) {\n    super(null, field);\n    this.timeField = timeField;\n    this.dateField = dateField;\n  }\n\n  @Override\n  protected Object convert(Object input) {\n    return null;\n  }\n\n  @Override\n  public void convert(LogEntry logEntry, Struct struct) {\n    final LocalDate date = (LocalDate) logEntry.fieldData().get(this.dateField);\n    final LocalTime time = (LocalTime) logEntry.fieldData().get(this.timeField);\n\n    final Object value;\n\n    if (null == date || null == time) {\n      value = null;\n    } else {\n      final Instant instant = time.atDate(date).toInstant(ZoneOffset.UTC);\n      value = Date.from(instant);\n    }\n    struct.put(this.field, value);\n  }\n}\n"
  },
  {
    "path": "src/main/java/com/github/jcustenborder/kafka/connect/spooldir/package-info.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n@Introduction(\n    \"This Kafka Connect connector provides the capability to watch a directory for files and \" +\n        \"read the data as new files are written to the input directory. Each of the records in the \" +\n        \"input file will be converted based on the user supplied schema. The connectors in this project \" +\n        \"handle all different kinds of use cases like ingesting json, csv, tsv, avro, or binary files.\")\n@Title(\"Spool Dir\")\n@DocumentationWarning(\"Running these connectors with multiple tasks requires a shared volume across \" +\n    \"all of the Kafka Connect workers. Kafka Connect does not have a mechanism for synchronization of \" +\n    \"tasks. Because of this each task will select which file it will use the following \" +\n    \"algorithm `hash(<filename>) % totalTasks == taskNumber`. If you are not using a shared volume \" +\n    \"this could cause issues where files are not processed. Using more than one task could also affect \" +\n    \"the order that the data is written to Kafka.\")\n@PluginOwner(\"jcustenborder\")\n@PluginName(\"kafka-connect-spooldir\")\n@DocumentationNote(\"Each of the connectors in this plugin emit the following headers for each record \" +\n    \"written to kafka. \\n\\n\" +\n    \"* `file.path` - The absolute path to the file ingested.\\n\" +\n    \"* `file.name` - The name part of the file ingested.\\n\" +\n    \"* `file.name.without.extension` - The file name without the extension part of the file.\\n\" +\n    \"* `file.last.modified` - The last modified date of the file.\\n\" +\n    \"* `file.length` - The size of the file in bytes.\\n\" +\n    \"* `file.offset` - The offset for this piece of data within the file.\\n\"\n)\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationNote;\nimport com.github.jcustenborder.kafka.connect.utils.config.DocumentationWarning;\nimport com.github.jcustenborder.kafka.connect.utils.config.Introduction;\nimport com.github.jcustenborder.kafka.connect.utils.config.PluginName;\nimport com.github.jcustenborder.kafka.connect.utils.config.PluginOwner;\nimport com.github.jcustenborder.kafka.connect.utils.config.Title;"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractCleanUpPolicyTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.collect.ImmutableMap;\nimport com.google.common.io.Files;\nimport org.junit.jupiter.api.AfterEach;\nimport org.junit.jupiter.api.BeforeEach;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.io.LineNumberReader;\nimport java.util.Objects;\n\nimport static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertTrue;\nimport static org.mockito.Mockito.mock;\nimport static org.mockito.Mockito.only;\nimport static org.mockito.Mockito.verify;\n\npublic abstract class AbstractCleanUpPolicyTest<T extends AbstractCleanUpPolicy> {\n\n  InputFile inputFile;\n  File inputPath;\n  File finishedPath;\n  File errorPath;\n  String inputPathSubDir;\n  protected T cleanupPolicy;\n\n  protected abstract T create(\n      InputFile inputFile, File errorPath, File finishedPath\n  );\n\n  protected String defineInputPathSubDir() {\n    return null;\n  }\n\n  protected ImmutableMap.Builder<String,String> getConnectorConfigMap() {\n    return new ImmutableMap.Builder<String,String>()\n        .put(SpoolDirBinaryFileSourceConnectorConfig.TOPIC_CONF, \"foo\")\n        .put(SpoolDirBinaryFileSourceConnectorConfig.INPUT_PATH_CONFIG, this.inputPath.toString())\n        .put(SpoolDirBinaryFileSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, \"^.$\")\n        .put(SpoolDirBinaryFileSourceConnectorConfig.ERROR_PATH_CONFIG, this.errorPath.toString())\n        .put(SpoolDirBinaryFileSourceConnectorConfig.FINISHED_PATH_CONFIG, this.finishedPath.toString());\n  }\n\n  @BeforeEach\n  public void before() throws IOException {\n    this.errorPath = Files.createTempDir();\n    this.finishedPath = Files.createTempDir();\n    this.inputPath = Files.createTempDir();\n    this.inputPathSubDir = defineInputPathSubDir();\n\n    File tempFileParentPathDir = this.inputPath;\n    if (this.inputPathSubDir != null) {\n      tempFileParentPathDir = new File(this.inputPath, this.inputPathSubDir);\n      tempFileParentPathDir.mkdirs();\n    }\n\n    File inputFile = File.createTempFile(\"input\", \"file\", tempFileParentPathDir);\n\n    SpoolDirBinaryFileSourceConnectorConfig config =\n        new SpoolDirBinaryFileSourceConnectorConfig(getConnectorConfigMap().build());\n\n    this.inputFile = new InputFile(config, inputFile);\n    this.inputFile.inputStreamReader = mock(InputStreamReader.class);\n    this.inputFile.lineNumberReader = mock(LineNumberReader.class);\n    this.cleanupPolicy = create(this.inputFile, this.errorPath, this.finishedPath);\n  }\n\n  protected File getTargetFilePath(File containerPath, InputFile inputFile) {\n    String subDir = (this.defineInputPathSubDir() != null ? this.defineInputPathSubDir() : \"\");\n    return new File(new File(containerPath,subDir), inputFile.getName());\n  }\n\n  @Test\n  public void error() throws IOException {\n    assertTrue(this.inputFile.exists(), \"Input file should exist\");\n    this.cleanupPolicy.error();\n    assertFalse(this.inputFile.exists(), \"input file should not exist\");\n    File erroredFile = this.getTargetFilePath(this.errorPath,this.inputFile);\n    assertTrue(erroredFile.exists(), \"errored file should exist.\");\n  }\n\n  void delete(File file) {\n    if (file.isDirectory()) {\n      for (File child : Objects.requireNonNull(file.listFiles())) {\n        delete(child);\n      }\n    }\n\n    file.delete();\n  }\n\n  @AfterEach\n  public void after() throws IOException {\n    delete(this.finishedPath);\n    delete(this.errorPath);\n    delete(this.inputPath);\n    verify(this.inputFile.inputStreamReader, only()).close();\n    verify(this.inputFile.lineNumberReader, only()).close();\n  }\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSchemaGeneratorTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.Files;\nimport org.junit.jupiter.api.BeforeEach;\n\nimport java.io.File;\nimport java.util.LinkedHashMap;\nimport java.util.Map;\n\npublic class AbstractSchemaGeneratorTest {\n  protected Map<String, String> settings;\n  File tempRoot;\n  File inputPath;\n  File finishedPath;\n  File errorPath;\n\n  @BeforeEach\n  public void createTempDir() {\n    this.tempRoot = Files.createTempDir();\n    this.inputPath = new File(this.tempRoot, \"input\");\n    this.inputPath.mkdirs();\n    this.finishedPath = new File(this.tempRoot, \"finished\");\n    this.finishedPath.mkdirs();\n    this.errorPath = new File(this.tempRoot, \"error\");\n    this.errorPath.mkdirs();\n\n    this.settings = new LinkedHashMap<>();\n    this.settings.put(AbstractSourceConnectorConfig.INPUT_PATH_CONFIG, this.inputPath.getAbsolutePath());\n    this.settings.put(AbstractSourceConnectorConfig.FINISHED_PATH_CONFIG, this.finishedPath.getAbsolutePath());\n    this.settings.put(AbstractSourceConnectorConfig.ERROR_PATH_CONFIG, this.errorPath.getAbsolutePath());\n    this.settings.put(AbstractSourceConnectorConfig.TOPIC_CONF, \"dummy\");\n  }\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSpoolDirSourceConnectorTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.Files;\nimport org.junit.jupiter.api.AfterEach;\nimport org.junit.jupiter.api.BeforeEach;\nimport org.junit.jupiter.api.Test;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.nio.file.FileVisitResult;\nimport java.nio.file.Path;\nimport java.nio.file.SimpleFileVisitor;\nimport java.nio.file.attribute.BasicFileAttributes;\nimport java.util.LinkedHashMap;\nimport java.util.Map;\n\nimport static org.junit.jupiter.api.Assertions.assertNotNull;\n\npublic abstract class AbstractSpoolDirSourceConnectorTest<T extends AbstractSpoolDirSourceConnector> {\n  private static final Logger log = LoggerFactory.getLogger(AbstractSpoolDirSourceConnectorTest.class);\n  protected T connector;\n  protected Map<String, String> settings;\n  File tempRoot;\n  File inputPath;\n  File finishedPath;\n  File errorPath;\n\n  protected abstract T createConnector();\n\n  @BeforeEach\n  public void before() {\n    this.connector = createConnector();\n  }\n\n  @Test\n  public void taskClass() {\n    assertNotNull(this.connector.taskClass());\n  }\n\n  @BeforeEach\n  public void createTempDir() {\n    this.tempRoot = Files.createTempDir();\n    this.inputPath = new File(this.tempRoot, \"input\");\n    this.inputPath.mkdirs();\n    this.finishedPath = new File(this.tempRoot, \"finished\");\n    this.finishedPath.mkdirs();\n    this.errorPath = new File(this.tempRoot, \"error\");\n    this.errorPath.mkdirs();\n\n    this.settings = new LinkedHashMap<>();\n    this.settings.put(AbstractSourceConnectorConfig.INPUT_PATH_CONFIG, this.inputPath.getAbsolutePath());\n    this.settings.put(AbstractSourceConnectorConfig.FINISHED_PATH_CONFIG, this.finishedPath.getAbsolutePath());\n    this.settings.put(AbstractSourceConnectorConfig.ERROR_PATH_CONFIG, this.errorPath.getAbsolutePath());\n    this.settings.put(AbstractSourceConnectorConfig.TOPIC_CONF, \"dummy\");\n    this.settings.put(AbstractSpoolDirSourceConnectorConfig.SCHEMA_GENERATION_ENABLED_CONF, \"true\");\n  }\n\n  @AfterEach\n  public void cleanupTempDir() throws IOException {\n    java.nio.file.Files.walkFileTree(this.tempRoot.toPath(), new SimpleFileVisitor<Path>() {\n      @Override\n      public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {\n        log.trace(\"cleanupTempDir() - Removing {}\", file);\n        java.nio.file.Files.delete(file);\n        return FileVisitResult.CONTINUE;\n      }\n\n      @Override\n      public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {\n        log.trace(\"cleanupTempDir() - Removing {}\", file);\n        java.nio.file.Files.delete(file);\n        return FileVisitResult.CONTINUE;\n      }\n    });\n  }\n\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/AbstractSpoolDirSourceTaskTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.fasterxml.jackson.databind.SerializationFeature;\nimport com.github.jcustenborder.kafka.connect.utils.jackson.ObjectMapperFactory;\nimport com.google.common.collect.Maps;\nimport com.google.common.io.ByteStreams;\nimport com.google.common.io.Files;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.apache.kafka.connect.source.SourceTaskContext;\nimport org.apache.kafka.connect.storage.OffsetStorageReader;\nimport org.junit.jupiter.api.AfterEach;\nimport org.junit.jupiter.api.BeforeEach;\nimport org.junit.jupiter.api.Test;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.OutputStream;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\n\nimport static com.github.jcustenborder.kafka.connect.utils.AssertConnectRecord.assertSourceRecord;\nimport static org.junit.jupiter.api.Assertions.assertEquals;\nimport static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertNotNull;\nimport static org.junit.jupiter.api.Assertions.assertNull;\nimport static org.junit.jupiter.api.Assertions.assertTrue;\nimport static org.mockito.ArgumentMatchers.anyMap;\nimport static org.mockito.Mockito.mock;\nimport static org.mockito.Mockito.when;\n\npublic abstract class AbstractSpoolDirSourceTaskTest<T extends AbstractSourceTask> {\n  private static final Logger log = LoggerFactory.getLogger(AbstractSpoolDirSourceTaskTest.class);\n\n  protected File tempDirectory;\n  protected File inputPath;\n  protected File errorPath;\n  protected File finishedPath;\n  protected T task;\n\n  @BeforeEach\n  public void setup() {\n    this.tempDirectory = Files.createTempDir();\n    this.finishedPath = new File(this.tempDirectory, \"finished\");\n    this.inputPath = new File(this.tempDirectory, \"input\");\n    this.errorPath = new File(this.tempDirectory, \"error\");\n    this.finishedPath.mkdirs();\n    this.inputPath.mkdirs();\n    this.errorPath.mkdirs();\n  }\n\n  @BeforeEach\n  public void configureIndent() {\n    ObjectMapperFactory.INSTANCE.configure(SerializationFeature.INDENT_OUTPUT, true);\n  }\n\n  protected abstract T createTask();\n\n  protected Map<String, String> settings() {\n    Map<String, String> settings = Maps.newLinkedHashMap();\n    settings.put(AbstractSourceConnectorConfig.INPUT_PATH_CONFIG, this.inputPath.getAbsolutePath());\n    settings.put(AbstractSourceConnectorConfig.FINISHED_PATH_CONFIG, this.finishedPath.getAbsolutePath());\n    settings.put(AbstractSourceConnectorConfig.ERROR_PATH_CONFIG, this.errorPath.getAbsolutePath());\n    settings.put(AbstractSourceConnectorConfig.TOPIC_CONF, \"testing\");\n    settings.put(AbstractSourceConnectorConfig.EMPTY_POLL_WAIT_MS_CONF, \"10\");\n    return settings;\n  }\n\n  protected String defineInputPathSubDir() {\n    return null;\n  }\n\n  protected File getTargetFilePath(File containerPath, String inputFileName) {\n    String subDir = (this.defineInputPathSubDir() != null ? this.defineInputPathSubDir() : \"\");\n    File targetDir = new File(containerPath, subDir);\n    targetDir.mkdirs();\n    return new File(targetDir, inputFileName);\n  }\n\n  protected void poll(final String packageName, TestCase testCase) throws InterruptedException, IOException {\n    String keySchemaConfig = ObjectMapperFactory.INSTANCE.writeValueAsString(testCase.keySchema);\n    String valueSchemaConfig = ObjectMapperFactory.INSTANCE.writeValueAsString(testCase.valueSchema);\n\n    Map<String, String> settings = this.settings();\n    settings.put(AbstractSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, String.format(\"^.*\\\\.%s\", packageName));\n    settings.put(AbstractSpoolDirSourceConnectorConfig.KEY_SCHEMA_CONF, keySchemaConfig);\n    settings.put(AbstractSpoolDirSourceConnectorConfig.VALUE_SCHEMA_CONF, valueSchemaConfig);\n\n    if (null != testCase.settings && !testCase.settings.isEmpty()) {\n      settings.putAll(testCase.settings);\n    }\n\n    this.task = createTask();\n\n    SourceTaskContext sourceTaskContext = mock(SourceTaskContext.class);\n    OffsetStorageReader offsetStorageReader = mock(OffsetStorageReader.class);\n    when(offsetStorageReader.offset(anyMap())).thenReturn(testCase.offset);\n    when(sourceTaskContext.offsetStorageReader()).thenReturn(offsetStorageReader);\n    this.task.initialize(sourceTaskContext);\n\n    this.task.start(settings);\n\n    String dataFile = new File(packageName, Files.getNameWithoutExtension(testCase.path.toString())) + \".data\";\n    log.trace(\"poll(String, TestCase) - dataFile={}\", dataFile);\n\n    String inputFileName = String.format(\"%s.%s\",\n        Files.getNameWithoutExtension(testCase.path.toString()),\n        packageName\n    );\n\n    //Use this config because it's the simplest.\n    SpoolDirBinaryFileSourceConnectorConfig config = new SpoolDirBinaryFileSourceConnectorConfig(settings);\n\n    final File p = this.getTargetFilePath(this.inputPath, inputFileName);\n    try (InputStream inputStream = this.getClass().getResourceAsStream(dataFile)) {\n      assertNotNull(\n          inputStream,\n          String.format(\"Resource stream '%s' was not found\", dataFile)\n      );\n      try (OutputStream outputStream = new FileOutputStream(p)) {\n        ByteStreams.copy(inputStream, outputStream);\n      }\n    }\n\n    final InputFile inputFile = new InputFile(config, p);\n    log.trace(\"poll(String, TestCase) - inputFile = {}\", inputFile);\n\n    assertFalse(inputFile.processingFlag().exists(), String.format(\"processingFile %s should not exist before first poll().\", inputFile.processingFlag()));\n    assertTrue(inputFile.exists(), String.format(\"inputFile %s should exist.\", inputFile));\n    List<SourceRecord> records = this.task.poll();\n    assertTrue(inputFile.exists(), String.format(\"inputFile %s should exist after first poll().\", inputFile));\n    assertTrue(inputFile.processingFlag().exists(), String.format(\"processingFile %s should exist after first poll().\", inputFile.processingFlag()));\n\n    assertNotNull(records, \"records should not be null.\");\n    assertFalse(records.isEmpty(), \"records should not be empty\");\n    assertEquals(testCase.expected.size(), records.size(), \"records.size() does not match.\");\n\n    /*\n    The following headers will change. Lets ensure they are there but we don't care about their\n    values since they are driven by things that will change such as lastModified dates and paths.\n     */\n    List<String> headersToRemove = new ArrayList<String>();\n    headersToRemove.add(Metadata.HEADER_LAST_MODIFIED);\n    headersToRemove.add(Metadata.HEADER_PATH);\n    headersToRemove.add(Metadata.HEADER_LENGTH);\n    headersToRemove.add(Metadata.HEADER_NAME_WITHOUT_EXTENSION);\n    headersToRemove.add(Metadata.HEADER_PARENT_DIR_NAME);\n    headersToRemove.add(Metadata.HEADER_FILE_RELATIVE_PATH);\n\n    for (int i = 0; i < testCase.expected.size(); i++) {\n      SourceRecord expectedRecord = testCase.expected.get(i);\n      SourceRecord actualRecord = records.get(i);\n\n      for (String headerToRemove : headersToRemove) {\n        assertNotNull(\n            actualRecord.headers().lastWithName(headerToRemove),\n            String.format(\"index:%s should have the header '%s'\", i, headerToRemove)\n        );\n        actualRecord.headers().remove(headerToRemove);\n        expectedRecord.headers().remove(headerToRemove);\n      }\n      assertSourceRecord(expectedRecord, actualRecord, String.format(\"index:%s\", i));\n    }\n\n    records = this.task.poll();\n    assertNull(records, \"records should be null after first poll.\");\n    records = this.task.poll();\n    assertNull(records, \"records should be null after first poll.\");\n    assertFalse(inputFile.exists(), String.format(\"inputFile %s should not exist.\", inputFile));\n    assertFalse(inputFile.processingFlag().exists(), String.format(\"processingFile %s should not exist.\", inputFile.processingFlag()));\n    final File finishedFile = this.getTargetFilePath(this.finishedPath, inputFileName);\n    assertTrue(finishedFile.exists(), String.format(\"finishedFile %s should exist.\", finishedFile));\n  }\n\n  protected List<TestCase> loadTestCases(String packageName) throws IOException {\n    String packagePrefix = String.format(\n        \"%s.%s\",\n        this.getClass().getPackage().getName(),\n        packageName\n    );\n    log.trace(\"packagePrefix = {}\", packagePrefix);\n    List<TestCase> testCases = TestDataUtils.loadJsonResourceFiles(packagePrefix, TestCase.class);\n    if (testCases.isEmpty() && log.isWarnEnabled()) {\n      log.warn(\"No test cases were found in the resources. packagePrefix = {}\", packagePrefix);\n    }\n    return testCases;\n  }\n\n  @Test\n  public void version() {\n    this.task = createTask();\n    assertNotNull(this.task.version(), \"version should not be null.\");\n  }\n\n  @Test\n  public void recordOffsetNPE() {\n    this.task = createTask();\n    long actual = this.task.recordOffset();\n  }\n\n  @AfterEach\n  public void after() {\n    if (null != this.task) {\n      this.task.stop();\n    }\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/ByNameAbstractTaskPartitionerPredicateTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.DynamicTest;\nimport org.junit.jupiter.api.TestFactory;\n\nimport java.io.File;\nimport java.util.ArrayList;\nimport java.util.LinkedHashSet;\nimport java.util.List;\nimport java.util.Set;\nimport java.util.UUID;\nimport java.util.stream.IntStream;\nimport java.util.stream.Stream;\n\nimport static org.junit.jupiter.api.Assertions.assertEquals;\nimport static org.junit.jupiter.api.DynamicTest.dynamicTest;\n\npublic class ByNameAbstractTaskPartitionerPredicateTest {\n  protected List<File> input;\n\n\n  @TestFactory\n  public Stream<DynamicTest> test() {\n    List<File> files = new ArrayList<>(500);\n    for (int i = 0; i < 500; i++) {\n      files.add(new File(UUID.randomUUID().toString()));\n    }\n    return IntStream.range(2, 50).boxed().map(count -> dynamicTest(count.toString(), () -> {\n      Set<File> queue = new LinkedHashSet<>(files);\n      for (int index = 0; index <= count; index++) {\n        AbstractTaskPartitionerPredicate.ByName predicate = new AbstractTaskPartitionerPredicate.ByName(index, count);\n        files.stream()\n            .filter(predicate)\n            .forEach(queue::remove);\n      }\n      assertEquals(0, queue.size(), \"Queue should be empty\");\n    }));\n  }\n\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/CsvSchemaGeneratorTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaBuilder;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.Arrays;\nimport java.util.Map;\n\nimport static com.github.jcustenborder.kafka.connect.utils.AssertSchema.assertSchema;\n\npublic class CsvSchemaGeneratorTest extends AbstractSchemaGeneratorTest {\n\n  @Test\n  public void foo() throws IOException {\n    File inputFile = new File(\"src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/FieldsMatch.data\");\n    this.settings.put(SpoolDirCsvSourceConnectorConfig.CSV_FIRST_ROW_AS_HEADER_CONF, \"true\");\n    CsvSchemaGenerator schemaGenerator = new CsvSchemaGenerator(settings);\n    Map.Entry<Schema, Schema> kvp = schemaGenerator.generate(inputFile, Arrays.asList(\"id\"));\n    final Schema expectedKeySchema = SchemaBuilder.struct()\n        .name(\"com.github.jcustenborder.kafka.connect.model.Key\")\n        .field(\"id\", Schema.OPTIONAL_STRING_SCHEMA)\n        .build();\n\n    final Schema expectedValueSchema = SchemaBuilder.struct()\n        .name(\"com.github.jcustenborder.kafka.connect.model.Value\")\n        .field(\"id\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"first_name\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"last_name\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"email\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"gender\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"ip_address\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"last_login\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"account_balance\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"country\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"favorite_color\", Schema.OPTIONAL_STRING_SCHEMA)\n        .build();\n\n    assertSchema(expectedKeySchema, kvp.getKey(), \"key schema does not match.\");\n    assertSchema(expectedValueSchema, kvp.getValue(), \"value schema does not match.\");\n  }\n\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/DeleteCleanupPolicySubDirsNoRetainTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport com.google.common.collect.ImmutableMap;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertFalse;\n\npublic class DeleteCleanupPolicySubDirsNoRetainTest extends DeleteCleanupPolicyTest {\n  @Override\n  protected String defineInputPathSubDir() {\n    return \"test/01/02/03\";\n  }\n\n  protected ImmutableMap.Builder<String,String> getConnectorConfigMap() {\n    return super.getConnectorConfigMap()\n      .put(SpoolDirBinaryFileSourceConnectorConfig.INPUT_PATH_WALK_RECURSIVELY, \"true\")\n      .put(SpoolDirBinaryFileSourceConnectorConfig.CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH, \"false\");\n  }\n\n  @Test\n  public void success() throws IOException {\n    super.success();\n\n    assertFalse(new File(this.inputPath,this.defineInputPathSubDir()).exists(), \n      \"The input.path sub-directory \"+this.defineInputPathSubDir()+\" should not exist\");\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/DeleteCleanupPolicySubDirsRetainTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport com.google.common.collect.ImmutableMap;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertTrue;\n\npublic class DeleteCleanupPolicySubDirsRetainTest extends DeleteCleanupPolicyTest {\n  @Override\n  protected String defineInputPathSubDir() {\n    return \"test/01/02/03\";\n  }\n\n  protected ImmutableMap.Builder<String,String> getConnectorConfigMap() {\n    return super.getConnectorConfigMap()\n      .put(SpoolDirBinaryFileSourceConnectorConfig.INPUT_PATH_WALK_RECURSIVELY, \"true\")\n      .put(SpoolDirBinaryFileSourceConnectorConfig.CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH, \"true\");\n  }\n\n  @Test\n  public void success() throws IOException {\n    super.success();\n\n    assertTrue(new File(this.inputPath,this.defineInputPathSubDir()).exists(), \n      \"The input.path sub-directory \"+this.defineInputPathSubDir()+\" should exist\");\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/DeleteCleanupPolicyTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertTrue;\n\npublic class DeleteCleanupPolicyTest extends AbstractCleanUpPolicyTest<AbstractCleanUpPolicy.Delete> {\n  @Override\n  protected AbstractCleanUpPolicy.Delete create(InputFile inputFile, File errorPath, File finishedPath) {\n    return new AbstractCleanUpPolicy.Delete(inputFile, errorPath, finishedPath);\n  }\n\n  @Test\n  public void success() throws IOException {\n    assertTrue(this.inputFile.exists(), \"Input file should exist\");\n    this.cleanupPolicy.success();\n    assertFalse(this.inputFile.exists(), \"Input file should not exist\");\n\n    if (!(cleanupPolicy instanceof AbstractCleanUpPolicy.Delete)) {\n      File finishedFile = new File(this.finishedPath, this.inputFile.getName());\n      assertTrue(finishedFile.exists(), \"finishedPath file should exist.\");\n    } else {\n      File finishedFile = new File(this.finishedPath, this.inputFile.getName());\n      assertFalse(finishedFile.exists(), \"finishedPath file should exist.\");\n    }\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/DocumentationTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.BaseDocumentationTest;\n\npublic class DocumentationTest extends BaseDocumentationTest {\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/FileComparatorTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.collect.ImmutableList;\nimport com.google.common.io.Files;\nimport org.junit.jupiter.api.BeforeEach;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.Arrays;\nimport java.util.Date;\nimport java.util.List;\n\nimport static org.junit.jupiter.api.Assertions.assertEquals;\n\npublic class FileComparatorTest {\n  File tempDirectory;\n\n  @BeforeEach\n  public void before() {\n    this.tempDirectory = Files.createTempDir();\n  }\n\n  File createFile(String name) throws IOException {\n    return createFile(name, new Date().getTime(), 0);\n  }\n\n  File createFile(String name, long date) throws IOException {\n    return createFile(name, date, 0);\n  }\n\n  File createFile(String name, long date, long length) throws IOException {\n    File result = new File(tempDirectory, name);\n\n    if (length == 0) {\n      Files.touch(result);\n    } else {\n      Files.write(\n          new byte[(int) length],\n          result\n      );\n    }\n    result.setLastModified(date);\n    return result;\n  }\n\n\n  List<File> sort(List<File> files, AbstractSourceConnectorConfig.FileAttribute... attributes) {\n    List<File> result = new ArrayList<>(files);\n    FileComparator comparator = new FileComparator(ImmutableList.copyOf(attributes));\n    result.sort(comparator);\n    return result;\n  }\n\n  List<File> expected(List<File> files, int... indexes) {\n    List<File> result = new ArrayList<>();\n    for (int index : indexes) {\n      result.add(files.get(index));\n    }\n    return result;\n  }\n\n  @Test\n  public void existingFunctionality() throws IOException {\n    List<File> input = Arrays.asList(\n        createFile(\"File1.csv\"),\n        createFile(\"File2.csv\"),\n        createFile(\"File3.csv\")\n    );\n\n    List<File> expected = expected(input, 0, 1, 2);\n    List<File> actual = sort(input, AbstractSourceConnectorConfig.FileAttribute.NameAsc);\n    assertEquals(expected, actual);\n  }\n\n  @Test\n  public void sortByLastModified() throws IOException {\n    long lastModified = new Date().getTime();\n\n    List<File> input = Arrays.asList(\n        createFile(\"File1.csv\", lastModified-=1000L),\n        createFile(\"File2.csv\", lastModified-=1000L),\n        createFile(\"File3.csv\", lastModified-=1000L)\n    );\n\n    List<File> expected = expected(input, 2, 1, 0);\n    List<File> actual = sort(input, AbstractSourceConnectorConfig.FileAttribute.LastModifiedAsc);\n    assertEquals(expected, actual);\n  }\n  @Test\n  public void sortBySize() throws IOException {\n    long lastModified = new Date().getTime();\n    long length = 10000;\n\n    List<File> input = Arrays.asList(\n        createFile(\"File1.csv\", lastModified-=1000L, length-=1000L),\n        createFile(\"File2.csv\", lastModified-=1000L, length-=1000L),\n        createFile(\"File3.csv\", lastModified-=1000L, length-=1000L)\n    );\n\n    List<File> expected = expected(input, 0, 1, 2);\n    List<File> actual = sort(input, AbstractSourceConnectorConfig.FileAttribute.LengthDesc);\n    assertEquals(expected, actual);\n  }\n\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/JsonSchemaGeneratorTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport java.util.HashMap;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaBuilder;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.Arrays;\nimport java.util.Map;\n\nimport static com.github.jcustenborder.kafka.connect.utils.AssertSchema.assertSchema;\n\npublic class JsonSchemaGeneratorTest extends AbstractSchemaGeneratorTest {\n\n  @Test\n  public void schema() throws IOException {\n    File inputFile = new File(\"src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/FieldsMatch.data\");\n    JsonSchemaGenerator schemaGenerator = new JsonSchemaGenerator(settings);\n    Map.Entry<Schema, Schema> kvp = schemaGenerator.generate(inputFile, Arrays.asList(\"id\"));\n    final Schema expectedKeySchema = SchemaBuilder.struct()\n        .name(\"com.github.jcustenborder.kafka.connect.model.Key\")\n        .field(\"id\", Schema.OPTIONAL_STRING_SCHEMA)\n        .build();\n\n    final Schema expectedValueSchema = SchemaBuilder.struct()\n        .name(\"com.github.jcustenborder.kafka.connect.model.Value\")\n        .field(\"id\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"first_name\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"last_name\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"email\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"gender\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"ip_address\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"last_login\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"account_balance\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"country\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"favorite_color\", Schema.OPTIONAL_STRING_SCHEMA)\n        .build();\n\n    assertSchema(expectedKeySchema, kvp.getKey(), \"key schema does not match.\");\n    assertSchema(expectedValueSchema, kvp.getValue(), \"value schema does not match.\");\n  }\n\n\n  @Test\n  public void schemaWithCustomSchemaName() throws IOException {\n    File inputFile = new File(\"src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/FieldsMatch.data\");\n    Map<String, String> configs = new HashMap<>(settings);\n    configs.put(AbstractSpoolDirSourceConnectorConfig.SCHEMA_GENERATION_KEY_NAME_CONF, \"com.foo.key\");\n    configs.put(AbstractSpoolDirSourceConnectorConfig.SCHEMA_GENERATION_VALUE_NAME_CONF, \"com.foo.value\");\n    JsonSchemaGenerator schemaGenerator = new JsonSchemaGenerator(configs);\n    Map.Entry<Schema, Schema> kvp = schemaGenerator.generate(inputFile, Arrays.asList(\"id\"));\n    final Schema expectedKeySchema = SchemaBuilder.struct()\n        .name(\"com.foo.key\")\n        .field(\"id\", Schema.OPTIONAL_STRING_SCHEMA)\n        .build();\n\n    final Schema expectedValueSchema = SchemaBuilder.struct()\n        .name(\"com.foo.value\")\n        .field(\"id\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"first_name\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"last_name\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"email\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"gender\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"ip_address\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"last_login\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"account_balance\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"country\", Schema.OPTIONAL_STRING_SCHEMA)\n        .field(\"favorite_color\", Schema.OPTIONAL_STRING_SCHEMA)\n        .build();\n\n    assertSchema(expectedKeySchema, kvp.getKey(), \"key schema does not match.\");\n    assertSchema(expectedValueSchema, kvp.getValue(), \"value schema does not match.\");\n  }\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/MinimumFileAgePredicateTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.apache.kafka.common.utils.Time;\nimport org.junit.jupiter.api.AfterEach;\nimport org.junit.jupiter.api.BeforeEach;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertTrue;\nimport static org.mockito.Mockito.mock;\nimport static org.mockito.Mockito.when;\n\npublic class MinimumFileAgePredicateTest {\n  File inputFile;\n\n\n  static final String EXTENSION = \"processing\";\n\n  @BeforeEach\n  public void before() throws IOException {\n    this.inputFile = File.createTempFile(\"test\", \"file\");\n  }\n\n  @AfterEach\n  public void after() throws IOException {\n    if (null != this.inputFile && this.inputFile.exists()) {\n      this.inputFile.delete();\n    }\n  }\n\n  Time time(long milliseconds) {\n    Time time = mock(Time.class);\n    when(time.milliseconds()).thenReturn(milliseconds);\n    return time;\n  }\n\n  @Test\n  public void notOldEnough() throws IOException {\n    long timestamp = 1559653835123L;\n    Time time = time(timestamp);\n    this.inputFile.setLastModified(timestamp);\n    InputFileDequeue.MinimumFileAgePredicate predicate = new InputFileDequeue.MinimumFileAgePredicate(\n        1000,\n        time\n    );\n    assertFalse(predicate.test(this.inputFile), \"File should not be old enough\");\n  }\n\n  @Test\n  public void oldEnough() throws IOException {\n    long timestamp = 1559653835123L;\n    this.inputFile.setLastModified(timestamp);\n    timestamp += 5000L;\n    Time time = time(timestamp);\n    InputFileDequeue.MinimumFileAgePredicate predicate = new InputFileDequeue.MinimumFileAgePredicate(\n        1000,\n        time\n    );\n    assertTrue(predicate.test(this.inputFile), \"File should be old enough\");\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/MoveByDateCleanupPolicySubDirsNoRetainTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport com.google.common.collect.ImmutableMap;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertFalse;\n\npublic class MoveByDateCleanupPolicySubDirsNoRetainTest extends MoveByDateCleanupPolicyTest {\n  @Override\n  protected String defineInputPathSubDir() {\n    return \"test/01/02/03\";\n  }\n\n  protected ImmutableMap.Builder<String,String> getConnectorConfigMap() {\n    return super.getConnectorConfigMap()\n      .put(SpoolDirBinaryFileSourceConnectorConfig.INPUT_PATH_WALK_RECURSIVELY, \"true\")\n      .put(SpoolDirBinaryFileSourceConnectorConfig.CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH, \"false\");\n  }\n\n  @Test\n  public void success() throws IOException {\n    super.success();\n\n    assertFalse(new File(this.inputPath,this.defineInputPathSubDir()).exists(), \n      \"The input.path sub-directory \"+this.defineInputPathSubDir()+\" should not exist\");\n\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/MoveByDateCleanupPolicySubDirsRetainTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport com.google.common.collect.ImmutableMap;\n\nimport java.io.File;\nimport java.io.IOException;\nimport static org.junit.jupiter.api.Assertions.assertTrue;\n\npublic class MoveByDateCleanupPolicySubDirsRetainTest extends MoveByDateCleanupPolicyTest {\n  @Override\n  protected String defineInputPathSubDir() {\n    return \"test/01/02/03\";\n  }\n\n  protected ImmutableMap.Builder<String,String> getConnectorConfigMap() {\n    return super.getConnectorConfigMap()\n      .put(SpoolDirBinaryFileSourceConnectorConfig.INPUT_PATH_WALK_RECURSIVELY, \"true\")\n      .put(SpoolDirBinaryFileSourceConnectorConfig.CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH, \"true\");\n  }\n\n  @Test\n  public void success() throws IOException {\n    super.success();\n\n    assertTrue(new File(this.inputPath,this.defineInputPathSubDir()).exists(), \n      \"The input.path sub-directory \"+this.defineInputPathSubDir()+\" should exist\");\n\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/MoveByDateCleanupPolicyTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.nio.file.Path;\nimport java.nio.file.Paths;\nimport java.text.SimpleDateFormat;\n\nimport static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertTrue;\n\npublic class MoveByDateCleanupPolicyTest extends AbstractCleanUpPolicyTest<AbstractCleanUpPolicy.MoveByDate> {\n  @Override\n  protected AbstractCleanUpPolicy.MoveByDate create(InputFile inputFile, File errorPath, File finishedPath) {\n    return new AbstractCleanUpPolicy.MoveByDate(inputFile, errorPath, finishedPath);\n  }\n\n  @Test\n  public void success() throws IOException {\n    SimpleDateFormat dateFormatter = new SimpleDateFormat(\"yyyy-MM-dd\");\n    Path subDirectory = Paths.get(this.finishedPath.getAbsolutePath(), dateFormatter.format(this.inputFile.lastModified()));\n    File finishedFile = this.getTargetFilePath(subDirectory.toFile(), this.inputFile);\n\n    assertTrue(this.inputFile.exists(), \"Input file should exist\");\n    assertFalse(finishedFile.exists(), \"Finished file should not exist\");\n\n    this.cleanupPolicy.success();\n\n    assertFalse(this.inputFile.exists(), \"Input file should not exist\");\n    assertTrue(finishedFile.exists(), \"Finished file should exist\");\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/MoveCleanupPolicySubDirsNoRetainTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport com.google.common.collect.ImmutableMap;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertFalse;\n\npublic class MoveCleanupPolicySubDirsNoRetainTest extends MoveCleanupPolicyTest {\n\n  @Override\n  protected String defineInputPathSubDir() {\n    return \"test/01/02/03\";\n  }\n\n  protected ImmutableMap.Builder<String,String> getConnectorConfigMap() {\n    return super.getConnectorConfigMap()\n      .put(SpoolDirBinaryFileSourceConnectorConfig.INPUT_PATH_WALK_RECURSIVELY, \"true\")\n      .put(SpoolDirBinaryFileSourceConnectorConfig.CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH, \"false\");\n  }\n\n  @Test\n  public void success() throws IOException {\n    super.success();\n\n    assertFalse(new File(this.inputPath,this.defineInputPathSubDir()).exists(), \n      \"The input.path sub-directory \"+this.defineInputPathSubDir()+\" should not exist\");\n\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/MoveCleanupPolicySubDirsRetainTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport com.google.common.collect.ImmutableMap;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertTrue;\n\npublic class MoveCleanupPolicySubDirsRetainTest extends MoveCleanupPolicyTest {\n\n  @Override\n  protected String defineInputPathSubDir() {\n    return \"test/01/02/03\";\n  }\n\n  protected ImmutableMap.Builder<String,String> getConnectorConfigMap() {\n    return super.getConnectorConfigMap()\n      .put(SpoolDirBinaryFileSourceConnectorConfig.INPUT_PATH_WALK_RECURSIVELY, \"true\")\n      .put(SpoolDirBinaryFileSourceConnectorConfig.CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH, \"true\");\n  }\n\n  @Test\n  public void success() throws IOException {\n    super.success();\n\n    assertTrue(new File(this.inputPath,this.defineInputPathSubDir()).exists(), \n      \"The input.path sub-directory \"+this.defineInputPathSubDir()+\" should exist\");\n\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/MoveCleanupPolicyTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertTrue;\n\npublic class MoveCleanupPolicyTest extends AbstractCleanUpPolicyTest<AbstractCleanUpPolicy.Move> {\n  @Override\n  protected AbstractCleanUpPolicy.Move create(InputFile inputFile, File errorPath, File finishedPath) {\n    return new AbstractCleanUpPolicy.Move(inputFile, errorPath, finishedPath);\n  }\n\n  @Test\n  public void success() throws IOException {\n    File finishedFile = this.getTargetFilePath(this.finishedPath, this.inputFile);\n    assertTrue(this.inputFile.exists(), \"Input file should exist\");\n    assertFalse(finishedFile.exists(), \"Finished file should not exist\");\n    this.cleanupPolicy.success();\n    assertFalse(this.inputFile.exists(), \"Input file should not exist\");\n    assertTrue(finishedFile.exists(), \"Finished file should exist\");\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/NamedTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport java.nio.file.Path;\n\npublic interface NamedTest {\n  void path(Path path);\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/NoneCleanupPolicyTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertTrue;\n\npublic class NoneCleanupPolicyTest extends AbstractCleanUpPolicyTest<AbstractCleanUpPolicy.None> {\n  @Override\n  protected AbstractCleanUpPolicy.None create(InputFile inputFile, File errorPath, File finishedPath) {\n    return new AbstractCleanUpPolicy.None(inputFile, errorPath, finishedPath);\n  }\n\n  @Test\n  public void success() throws IOException {\n    assertTrue(this.inputFile.exists(), \"Input file should exist\");\n    this.cleanupPolicy.success();\n    assertTrue(this.inputFile.exists(), \"Input file should exist\");\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/ProcessingFileExistsPredicateTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.Files;\nimport org.junit.jupiter.api.AfterEach;\nimport org.junit.jupiter.api.BeforeEach;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.IOException;\n\nimport static org.junit.jupiter.api.Assertions.assertFalse;\nimport static org.junit.jupiter.api.Assertions.assertTrue;\n\npublic class ProcessingFileExistsPredicateTest {\n  File inputFile;\n  InputFileDequeue.ProcessingFileExistsPredicate predicate;\n\n  static final String EXTENSION = \"processing\";\n\n  @BeforeEach\n  public void before() throws IOException {\n    this.inputFile = File.createTempFile(\"test\", \"file\");\n    this.predicate = new InputFileDequeue.ProcessingFileExistsPredicate(EXTENSION);\n  }\n\n  @AfterEach\n  public void after() throws IOException {\n    if (null != this.inputFile && this.inputFile.exists()) {\n      this.inputFile.delete();\n    }\n  }\n\n  @Test\n  public void test() throws IOException {\n    File processingFlag = InputFileDequeue.processingFile(EXTENSION, this.inputFile);\n    Files.touch(processingFlag);\n    assertFalse(this.predicate.test(this.inputFile));\n    processingFlag.delete();\n    assertTrue(this.predicate.test(this.inputFile));\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirAvroSourceTaskTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.Files;\nimport io.confluent.connect.avro.AvroData;\nimport org.apache.avro.Schema;\nimport org.apache.avro.file.CodecFactory;\nimport org.apache.avro.file.DataFileWriter;\nimport org.apache.avro.generic.GenericContainer;\nimport org.apache.avro.generic.GenericDatumWriter;\nimport org.apache.avro.io.DatumWriter;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.junit.jupiter.api.Disabled;\nimport org.junit.jupiter.api.DynamicTest;\nimport org.junit.jupiter.api.Test;\nimport org.junit.jupiter.api.TestFactory;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Optional;\nimport java.util.stream.Stream;\n\nimport static org.junit.jupiter.api.Assertions.assertTrue;\nimport static org.junit.jupiter.api.DynamicTest.dynamicTest;\n\npublic class SpoolDirAvroSourceTaskTest extends AbstractSpoolDirSourceTaskTest<SpoolDirAvroSourceTask> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirJsonSourceTaskTest.class);\n\n  @Override\n  protected SpoolDirAvroSourceTask createTask() {\n    return new SpoolDirAvroSourceTask();\n  }\n\n  @Override\n  protected Map<String, String> settings() {\n    Map<String, String> settings = super.settings();\n    return settings;\n  }\n\n  @Disabled\n  @Test\n  public void foo() throws IOException {\n\n    File outputFile = new File(\"src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/avro/FieldsMatch.data\");\n\n    DatumWriter<GenericContainer> datumWriter = new GenericDatumWriter<>();\n    DataFileWriter<GenericContainer> writer = new DataFileWriter<>(datumWriter);\n    writer.setCodec(CodecFactory.bzip2Codec());\n\n    final String packageName = \"csv\";\n    List<TestCase> testCases = loadTestCases(packageName);\n    Optional<TestCase> testcase = testCases.stream().filter(testCase -> testCase.path.getFileName().endsWith(\"FieldsMatch.json\")).findFirst();\n    assertTrue(testcase.isPresent());\n    AvroData avroData = new AvroData(1235);\n    Schema schema = null;\n    for (SourceRecord expected : testcase.get().expected) {\n      if (null == schema) {\n        schema = avroData.fromConnectSchema(expected.valueSchema());\n        writer.create(schema, outputFile);\n      }\n      GenericContainer value = (GenericContainer) avroData.fromConnectData(expected.valueSchema(), expected.value());\n      writer.append(value);\n    }\n\n    writer.close();\n  }\n\n  @TestFactory\n  public Stream<DynamicTest> poll() throws IOException {\n    final String packageName = \"avro\";\n    List<TestCase> testCases = loadTestCases(packageName);\n\n    return testCases.stream().map(testCase -> {\n      String name = Files.getNameWithoutExtension(testCase.path.toString());\n      return dynamicTest(name, () -> {\n        poll(packageName, testCase);\n      });\n    });\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirBinaryFileSourceTaskTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.Files;\nimport org.junit.jupiter.api.DynamicTest;\nimport org.junit.jupiter.api.TestFactory;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.stream.Stream;\n\nimport static org.junit.jupiter.api.DynamicTest.dynamicTest;\n\npublic class SpoolDirBinaryFileSourceTaskTest extends AbstractSpoolDirSourceTaskTest<SpoolDirBinaryFileSourceTask> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirJsonSourceTaskTest.class);\n\n  @Override\n  protected SpoolDirBinaryFileSourceTask createTask() {\n    return new SpoolDirBinaryFileSourceTask();\n  }\n\n  @Override\n  protected Map<String, String> settings() {\n    Map<String, String> settings = super.settings();\n    return settings;\n  }\n\n  @TestFactory\n  public Stream<DynamicTest> poll() throws IOException {\n    final String packageName = \"binary\";\n    List<TestCase> testCases = loadTestCases(packageName);\n\n    return testCases.stream().map(testCase -> {\n      String name = Files.getNameWithoutExtension(testCase.path.toString());\n      return dynamicTest(name, () -> {\n        poll(packageName, testCase);\n      });\n    });\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceConnectorConfigTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\n\nimport com.opencsv.CSVReader;\nimport com.opencsv.CSVReaderBuilder;\nimport com.opencsv.ICSVParser;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.IOException;\nimport java.io.StringReader;\nimport java.util.HashMap;\nimport java.util.Map;\n\nimport static org.junit.jupiter.api.Assertions.assertArrayEquals;\n\npublic class SpoolDirCsvSourceConnectorConfigTest {\n\n  @Test\n  public void nullFieldSeparator() throws IOException {\n    Map<String, String> settings = new HashMap<>();\n    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_SEPARATOR_CHAR_CONF, \"0\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.TOPIC_CONF, \"test\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.INPUT_PATH_CONFIG, \"/tmp\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, \"^.+$\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.ERROR_PATH_CONFIG, \"/tmp\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.FINISHED_PATH_CONFIG, \"/tmp\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.KEY_SCHEMA_CONF, \"{\\n\" +\n        \"    \\\"name\\\" : \\\"com.example.users.UserKey\\\",\\n\" +\n        \"    \\\"type\\\" : \\\"STRUCT\\\",\\n\" +\n        \"    \\\"isOptional\\\" : false,\\n\" +\n        \"    \\\"fieldSchemas\\\" : {\\n\" +\n        \"      \\\"id\\\" : {\\n\" +\n        \"        \\\"type\\\" : \\\"INT64\\\",\\n\" +\n        \"        \\\"isOptional\\\" : false\\n\" +\n        \"      }\\n\" +\n        \"    }\\n\" +\n        \"  }\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.VALUE_SCHEMA_CONF, \"{\\n\" +\n        \"    \\\"name\\\" : \\\"com.example.users.UserKey\\\",\\n\" +\n        \"    \\\"type\\\" : \\\"STRUCT\\\",\\n\" +\n        \"    \\\"isOptional\\\" : false,\\n\" +\n        \"    \\\"fieldSchemas\\\" : {\\n\" +\n        \"      \\\"id\\\" : {\\n\" +\n        \"        \\\"type\\\" : \\\"INT64\\\",\\n\" +\n        \"        \\\"isOptional\\\" : false\\n\" +\n        \"      }\\n\" +\n        \"    }\\n\" +\n        \"  }\");\n    SpoolDirCsvSourceConnectorConfig config = new SpoolDirCsvSourceConnectorConfig(\n        true,\n        settings\n    );\n    ICSVParser parser = config.createCSVParserBuilder();\n    try (StringReader reader = new StringReader(\"id\\u0000test\\n123\\u0000foo\")) {\n      CSVReaderBuilder readerBuilder = config.createCSVReaderBuilder(reader, parser);\n      try (CSVReader csvReader = readerBuilder.build()) {\n        String[] line = csvReader.readNext();\n        assertArrayEquals(new String[]{\"id\", \"test\"}, line);\n        line = csvReader.readNext();\n        assertArrayEquals(new String[]{\"123\", \"foo\"}, line);\n      }\n    }\n  }\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceConnectorTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.ByteStreams;\nimport org.apache.kafka.connect.errors.DataException;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.OutputStream;\n\nimport static org.junit.jupiter.api.Assertions.assertThrows;\n\n\npublic class SpoolDirCsvSourceConnectorTest extends AbstractSpoolDirSourceConnectorTest<SpoolDirCsvSourceConnector> {\n  @Override\n  protected SpoolDirCsvSourceConnector createConnector() {\n    return new SpoolDirCsvSourceConnector();\n  }\n\n  @Test\n  public void startWithoutSchema() throws IOException {\n    this.settings.put(AbstractSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, \"^.*\\\\.csv$\");\n\n    String[] inputFiles = new String[]{\n        \"csv/FieldsMatch.data\",\n        \"csv/FieldsMatch.data\",\n    };\n\n    int index = 0;\n    for (String inputFile : inputFiles) {\n      try (InputStream inputStream = this.getClass().getResourceAsStream(inputFile)) {\n        File outputFile = new File(this.inputPath, \"input\" + index + \".csv\");\n        try (OutputStream outputStream = new FileOutputStream(outputFile)) {\n          ByteStreams.copy(inputStream, outputStream);\n        }\n      }\n      index++;\n    }\n\n    this.connector.start(settings);\n  }\n\n  @Test()\n  public void startWithoutSchemaMismatch() throws IOException {\n    this.settings.put(AbstractSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, \"^.*\\\\.csv$\");\n\n\n    String[] inputFiles = new String[]{\n        \"csv/FieldsMatch.data\",\n        \"csv/DataHasMoreFields.data\",\n    };\n\n    int index = 0;\n    for (String inputFile : inputFiles) {\n      try (InputStream inputStream = this.getClass().getResourceAsStream(inputFile)) {\n        File outputFile = new File(this.inputPath, \"input\" + index + \".csv\");\n        try (OutputStream outputStream = new FileOutputStream(outputFile)) {\n          ByteStreams.copy(inputStream, outputStream);\n        }\n      }\n      index++;\n    }\n\n    assertThrows(DataException.class, () -> {\n      this.connector.start(settings);\n    });\n\n  }\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceTaskSubDirsNoRetainTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Map;\npublic class SpoolDirCsvSourceTaskSubDirsNoRetainTest extends SpoolDirCsvSourceTaskTest {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirCsvSourceTaskSubDirsNoRetainTest.class);\n\n  @Override\n  protected Map<String, String> settings() {\n    Map<String, String> settings = super.settings();\n\n    settings.put(AbstractSourceConnectorConfig.INPUT_PATH_WALK_RECURSIVELY,\"true\");\n    settings.put(AbstractSourceConnectorConfig.CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH,\"false\");\n\n    return settings;\n  }\n\n  @Override\n  protected String defineInputPathSubDir() {\n    return \"test/01/02/03\";\n  }\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceTaskSubDirsRetainTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Map;\npublic class SpoolDirCsvSourceTaskSubDirsRetainTest extends SpoolDirCsvSourceTaskTest {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirCsvSourceTaskSubDirsRetainTest.class);\n\n  @Override\n  protected Map<String, String> settings() {\n    Map<String, String> settings = super.settings();\n\n    settings.put(AbstractSourceConnectorConfig.INPUT_PATH_WALK_RECURSIVELY,\"true\");\n    settings.put(AbstractSourceConnectorConfig.CLEANUP_POLICY_MAINTAIN_RELATIVE_PATH,\"true\");\n\n    return settings;\n  }\n\n  @Override\n  protected String defineInputPathSubDir() {\n    return \"test/01/02/03\";\n  }\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceTaskTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.jackson.ObjectMapperFactory;\nimport com.google.common.io.Files;\nimport com.opencsv.CSVWriterBuilder;\nimport com.opencsv.ICSVWriter;\nimport org.apache.kafka.connect.data.Field;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.data.SchemaBuilder;\nimport org.apache.kafka.connect.data.Struct;\nimport org.apache.kafka.connect.source.SourceRecord;\nimport org.apache.kafka.connect.source.SourceTaskContext;\nimport org.apache.kafka.connect.storage.OffsetStorageReader;\nimport org.junit.jupiter.api.DynamicTest;\nimport org.junit.jupiter.api.Test;\nimport org.junit.jupiter.api.TestFactory;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.FileWriter;\nimport java.io.IOException;\nimport java.io.Writer;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.stream.Stream;\n\nimport static org.junit.jupiter.api.Assertions.assertEquals;\nimport static org.junit.jupiter.api.Assertions.assertNull;\nimport static org.junit.jupiter.api.DynamicTest.dynamicTest;\nimport static org.mockito.ArgumentMatchers.anyMap;\nimport static org.mockito.Mockito.mock;\nimport static org.mockito.Mockito.when;\n\npublic class SpoolDirCsvSourceTaskTest extends AbstractSpoolDirSourceTaskTest<SpoolDirCsvSourceTask> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirCsvSourceTaskTest.class);\n\n  @Override\n  protected SpoolDirCsvSourceTask createTask() {\n    return new SpoolDirCsvSourceTask();\n  }\n\n  @Override\n  protected Map<String, String> settings() {\n    Map<String, String> settings = super.settings();\n    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_FIRST_ROW_AS_HEADER_CONF, \"true\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.PARSER_TIMESTAMP_DATE_FORMATS_CONF, \"yyyy-MM-dd'T'HH:mm:ss'Z'\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_NULL_FIELD_INDICATOR_CONF, \"BOTH\");\n    return settings;\n  }\n\n  @TestFactory\n  public Stream<DynamicTest> poll() throws IOException {\n    final String packageName = \"csv\";\n    List<TestCase> testCases = loadTestCases(packageName);\n\n    return testCases.stream().map(testCase -> {\n      String name = Files.getNameWithoutExtension(testCase.path.toString());\n      return dynamicTest(name, () -> {\n        poll(packageName, testCase);\n      });\n    });\n  }\n\n  void writeCSV(File outputFile, Schema schema, List<Struct> structs) throws IOException {\n    try (Writer writer = new FileWriter(outputFile)) {\n      try (ICSVWriter csvWriter = new CSVWriterBuilder(writer)\n          .build()) {\n        String[] header = schema.fields().stream().map(Field::name).toArray(String[]::new);\n        csvWriter.writeNext(header);\n\n        for (Struct struct : structs) {\n          List<String> values = new ArrayList<>();\n          for (Field field : schema.fields()) {\n            values.add(struct.get(field).toString());\n          }\n          csvWriter.writeNext(values.toArray(new String[0]));\n        }\n\n        csvWriter.flush();\n      }\n    }\n  }\n\n  @Test\n  public void rebalance() throws IOException, InterruptedException {\n    Schema schema = SchemaBuilder.struct()\n        .field(\"id\", Schema.INT32_SCHEMA)\n        .build();\n    final int count = 100;\n    List<Struct> values = new ArrayList<>(count);\n\n    for (int i = 0; i < count; i++) {\n      values.add(\n          new Struct(schema)\n              .put(\"id\", i)\n      );\n    }\n  \n    File inputFile = this.getTargetFilePath(this.inputPath,  \"input.csv\");\n    writeCSV(inputFile, schema, values);\n    Map<String, String> settings = settings();\n    settings.put(SpoolDirCsvSourceConnectorConfig.KEY_SCHEMA_CONF, ObjectMapperFactory.INSTANCE.writeValueAsString(schema));\n    settings.put(SpoolDirCsvSourceConnectorConfig.VALUE_SCHEMA_CONF, ObjectMapperFactory.INSTANCE.writeValueAsString(schema));\n    settings.put(SpoolDirCsvSourceConnectorConfig.BATCH_SIZE_CONF, \"50\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, \".*\");\n    SpoolDirCsvSourceTask task = new SpoolDirCsvSourceTask();\n    SourceTaskContext sourceTaskContext = mock(SourceTaskContext.class);\n    OffsetStorageReader offsetStorageReader = mock(OffsetStorageReader.class);\n    when(offsetStorageReader.offset(anyMap()))\n        .thenReturn(null);\n    when(sourceTaskContext.offsetStorageReader()).thenReturn(offsetStorageReader);\n    task.initialize(sourceTaskContext);\n    task.start(settings);\n\n    List<SourceRecord> records = new ArrayList<>();\n    records.addAll(task.poll());\n    assertEquals(50, records.size());\n    SourceRecord lastRecord = records.get(49);\n    when(offsetStorageReader.offset(anyMap())).thenReturn((Map<String, Object>) lastRecord.sourceOffset());\n\n    task.stop();\n    task.start(settings);\n    records.addAll(task.poll());\n    assertEquals(count, records.size(), \"Expected number of records does not match.\");\n    assertNull(task.poll(), \"Polling should be finished with the file by now.\");\n    assertNull(task.poll(), \"Polling should be finished with the file by now.\");\n\n\n  }\n\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirJsonSourceConnectorTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.ByteStreams;\nimport org.apache.kafka.connect.errors.DataException;\nimport org.junit.jupiter.api.Test;\n\nimport java.io.File;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.io.OutputStream;\n\nimport static org.junit.jupiter.api.Assertions.assertThrows;\n\npublic class SpoolDirJsonSourceConnectorTest extends AbstractSpoolDirSourceConnectorTest<SpoolDirJsonSourceConnector> {\n  @Override\n  protected SpoolDirJsonSourceConnector createConnector() {\n    return new SpoolDirJsonSourceConnector();\n  }\n\n  @Test\n  public void startWithoutSchema() throws IOException {\n    settings.put(AbstractSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, \"^.*\\\\.json$\");\n\n    String[] inputFiles = new String[]{\n        \"json/FieldsMatch.data\",\n        \"json/FieldsMatch.data\",\n    };\n\n    int index = 0;\n    for (String inputFile : inputFiles) {\n      try (InputStream inputStream = this.getClass().getResourceAsStream(inputFile)) {\n        File outputFile = new File(this.inputPath, \"input\" + index + \".json\");\n        try (OutputStream outputStream = new FileOutputStream(outputFile)) {\n          ByteStreams.copy(inputStream, outputStream);\n        }\n      }\n      index++;\n    }\n\n    this.connector.start(settings);\n  }\n\n  @Test()\n  public void startWithoutSchemaMismatch() throws IOException {\n    this.settings.put(AbstractSourceConnectorConfig.INPUT_FILE_PATTERN_CONF, \"^.*\\\\.json$\");\n\n\n    String[] inputFiles = new String[]{\n        \"json/FieldsMatch.data\",\n        \"json/DataHasMoreFields.data\",\n    };\n\n    int index = 0;\n    for (String inputFile : inputFiles) {\n      try (InputStream inputStream = this.getClass().getResourceAsStream(inputFile)) {\n        File outputFile = new File(this.inputPath, \"input\" + index + \".json\");\n        try (OutputStream outputStream = new FileOutputStream(outputFile)) {\n          ByteStreams.copy(inputStream, outputStream);\n        }\n      }\n      index++;\n    }\n\n    assertThrows(DataException.class, () -> {\n      this.connector.start(settings);\n    });\n\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirJsonSourceTaskTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.Files;\nimport org.junit.jupiter.api.DynamicTest;\nimport org.junit.jupiter.api.TestFactory;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.stream.Stream;\n\nimport static org.junit.jupiter.api.DynamicTest.dynamicTest;\n\npublic class SpoolDirJsonSourceTaskTest extends AbstractSpoolDirSourceTaskTest<SpoolDirJsonSourceTask> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirJsonSourceTaskTest.class);\n\n  @Override\n  protected SpoolDirJsonSourceTask createTask() {\n    return new SpoolDirJsonSourceTask();\n  }\n\n  @Override\n  protected Map<String, String> settings() {\n    Map<String, String> settings = super.settings();\n    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_FIRST_ROW_AS_HEADER_CONF, \"true\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_NULL_FIELD_INDICATOR_CONF, \"BOTH\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.PARSER_TIMESTAMP_DATE_FORMATS_CONF, \"yyyy-MM-dd'T'HH:mm:ss'Z'\");\n    return settings;\n  }\n\n  @TestFactory\n  public Stream<DynamicTest> poll() throws IOException {\n    final String packageName = \"json\";\n    List<TestCase> testCases = loadTestCases(packageName);\n\n    return testCases.stream().map(testCase -> {\n      String name = Files.getNameWithoutExtension(testCase.path.toString());\n      return dynamicTest(name, () -> {\n        poll(packageName, testCase);\n      });\n    });\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirLineDelimitedSourceTaskTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport org.junit.jupiter.api.Test;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Map;\n\nimport static org.junit.jupiter.api.Assertions.assertEquals;\n\npublic class SpoolDirLineDelimitedSourceTaskTest extends AbstractSpoolDirSourceTaskTest<SpoolDirLineDelimitedSourceTask> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirJsonSourceTaskTest.class);\n\n  @Override\n  protected SpoolDirLineDelimitedSourceTask createTask() {\n    return new SpoolDirLineDelimitedSourceTask();\n  }\n\n  @Override\n  protected Map<String, String> settings() {\n    Map<String, String> settings = super.settings();\n    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_FIRST_ROW_AS_HEADER_CONF, \"true\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.PARSER_TIMESTAMP_DATE_FORMATS_CONF, \"yyyy-MM-dd'T'HH:mm:ss'Z'\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_NULL_FIELD_INDICATOR_CONF, \"BOTH\");\n    return settings;\n  }\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirSchemaLessJsonSourceTaskTest.java",
    "content": "package com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.google.common.io.Files;\nimport org.junit.jupiter.api.DynamicTest;\nimport org.junit.jupiter.api.TestFactory;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.stream.Stream;\n\nimport static org.junit.jupiter.api.DynamicTest.dynamicTest;\n\npublic class SpoolDirSchemaLessJsonSourceTaskTest extends AbstractSpoolDirSourceTaskTest<SpoolDirSchemaLessJsonSourceTask> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirJsonSourceTaskTest.class);\n\n  @Override\n  protected SpoolDirSchemaLessJsonSourceTask createTask() {\n    return new SpoolDirSchemaLessJsonSourceTask();\n  }\n\n  @Override\n  protected Map<String, String> settings() {\n    Map<String, String> settings = super.settings();\n    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_FIRST_ROW_AS_HEADER_CONF, \"true\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.PARSER_TIMESTAMP_DATE_FORMATS_CONF, \"yyyy-MM-dd'T'HH:mm:ss'Z'\");\n    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_NULL_FIELD_INDICATOR_CONF, \"BOTH\");\n    return settings;\n  }\n\n  @TestFactory\n  public Stream<DynamicTest> poll() throws IOException {\n    final String packageName = \"schemalessjson\";\n    List<TestCase> testCases = loadTestCases(packageName);\n\n    return testCases.stream().map(testCase -> {\n      String name = Files.getNameWithoutExtension(testCase.path.toString());\n      return dynamicTest(name, () -> {\n        poll(packageName, testCase);\n      });\n    });\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/TestCase.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.fasterxml.jackson.annotation.JsonIgnore;\nimport org.apache.kafka.connect.data.Schema;\nimport org.apache.kafka.connect.source.SourceRecord;\n\nimport java.nio.file.Path;\nimport java.util.LinkedHashMap;\nimport java.util.List;\nimport java.util.Map;\n\npublic class TestCase implements NamedTest {\n  @JsonIgnore\n  public Path path;\n  public Map<String, String> settings = new LinkedHashMap<>();\n  public Map<String, Object> offset = new LinkedHashMap<>();\n  public Schema keySchema;\n  public Schema valueSchema;\n  public List<SourceRecord> expected;\n\n  @Override\n  public void path(Path path) {\n    this.path = path;\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/TestDataUtils.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir;\n\nimport com.github.jcustenborder.kafka.connect.utils.jackson.ObjectMapperFactory;\nimport com.google.common.base.Preconditions;\nimport org.junit.jupiter.api.Test;\nimport org.reflections.Reflections;\nimport org.reflections.scanners.ResourcesScanner;\nimport org.reflections.util.FilterBuilder;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.File;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.nio.file.Path;\nimport java.nio.file.Paths;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Set;\n\npublic class TestDataUtils {\n  private static final Logger log = LoggerFactory.getLogger(TestDataUtils.class);\n\n  @Test\n  public void metadata() {\n    log.info(Metadata.HEADER_DOCS);\n  }\n\n\n  public static <T extends NamedTest> List<T> loadJsonResourceFiles(String packageName, Class<T> cls) throws IOException {\n    Preconditions.checkNotNull(packageName, \"packageName cannot be null\");\n    log.info(\"packageName = {}\", packageName);\n//    Preconditions.checkState(packageName.startsWith(\"/\"), \"packageName must start with a /.\");\n    Reflections reflections = new Reflections(packageName, new ResourcesScanner());\n    Set<String> resources = reflections.getResources(new FilterBuilder.Include(\"^.*\\\\.json$\"));\n    List<T> datas = new ArrayList<T>(resources.size());\n    Path packagePath = Paths.get(\"/\" + packageName.replace(\".\", \"/\"));\n    for (String resource : resources) {\n      log.trace(\"Loading resource {}\", resource);\n      Path resourcePath = Paths.get(\"/\" + resource);\n      Path relativePath = packagePath.relativize(resourcePath);\n      File resourceFile = new File(\"/\" + resource);\n      T data;\n      try (InputStream inputStream = cls.getResourceAsStream(resourceFile.getAbsolutePath())) {\n        data = ObjectMapperFactory.INSTANCE.readValue(inputStream, cls);\n      } catch (IOException ex) {\n        if (log.isErrorEnabled()) {\n          log.error(\"Exception thrown while loading {}\", resourcePath, ex);\n        }\n        throw ex;\n      }\n\n      if (null != relativePath.getParent()) {\n        data.path(relativePath);\n      } else {\n        data.path(relativePath);\n      }\n      datas.add(data);\n    }\n    return datas;\n  }\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/elf/SchemaConversionBuilderTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf;\n\nimport com.github.jcustenborder.parsers.elf.ElfParser;\nimport com.github.jcustenborder.parsers.elf.LogEntry;\nimport com.google.common.collect.ImmutableMap;\nimport org.apache.commons.lang3.tuple.Pair;\nimport org.apache.kafka.connect.data.SchemaAndValue;\nimport org.apache.kafka.connect.data.Struct;\nimport org.junit.jupiter.api.DynamicTest;\nimport org.junit.jupiter.api.Test;\nimport org.junit.jupiter.api.TestFactory;\n\nimport java.time.LocalDate;\nimport java.time.LocalTime;\nimport java.util.LinkedHashMap;\nimport java.util.Map;\nimport java.util.stream.Stream;\n\nimport static org.junit.jupiter.api.Assertions.assertEquals;\nimport static org.junit.jupiter.api.Assertions.assertNotNull;\nimport static org.junit.jupiter.api.DynamicTest.dynamicTest;\nimport static org.mockito.Mockito.mock;\nimport static org.mockito.Mockito.when;\n\npublic class SchemaConversionBuilderTest {\n\n  @TestFactory\n  public Stream<DynamicTest> normalizeFieldName() {\n    Map<String, String> tests = new LinkedHashMap<>();\n    tests.put(\"date\", \"date\");\n    tests.put(\"time\", \"time\");\n    tests.put(\"x-edge-location\", \"x_edge_location\");\n    tests.put(\"sc-bytes\", \"sc_bytes\");\n    tests.put(\"c-ip\", \"c_ip\");\n    tests.put(\"cs-method\", \"cs_method\");\n    tests.put(\"cs(Host)\", \"cs_host\");\n    tests.put(\"cs-uri-stem\", \"cs_uri_stem\");\n    tests.put(\"sc-status\", \"sc_status\");\n    tests.put(\"cs(Referer)\", \"cs_referer\");\n    tests.put(\"cs(User-Agent)\", \"cs_user_agent\");\n    tests.put(\"cs-uri-query\", \"cs_uri_query\");\n    tests.put(\"cs(Cookie)\", \"cs_cookie\");\n    tests.put(\"x-edge-result-type\", \"x_edge_result_type\");\n    tests.put(\"x-edge-request-id\", \"x_edge_request_id\");\n    tests.put(\"x-host-header\", \"x_host_header\");\n    tests.put(\"cs-protocol\", \"cs_protocol\");\n    tests.put(\"cs-bytes\", \"cs_bytes\");\n    tests.put(\"time-taken\", \"time_taken\");\n\n    return tests.entrySet().stream().map(e -> dynamicTest(e.getKey(), () -> {\n      final String actual = SchemaConversionBuilder.normalizeFieldName(e.getKey());\n      assertEquals(e.getValue(), actual, \"field name does not match.\");\n    }));\n  }\n\n\n  @Test\n  public void foo() {\n    ElfParser parser = mock(ElfParser.class);\n    final Map<String, Class<?>> fieldTypes = ImmutableMap.of(\n        \"date\", LocalDate.class,\n        \"time\", LocalTime.class,\n        \"sc-bytes\", Long.class,\n        \"sc-status\", Integer.class\n    );\n    final Map<String, Object> fieldData = ImmutableMap.of(\n        \"date\", LocalDate.of(2011, 3, 14),\n        \"time\", LocalTime.of(12, 0, 0),\n        \"sc-bytes\", 12341L,\n        \"sc-status\", 200\n    );\n    when(parser.fieldTypes()).thenReturn(fieldTypes);\n\n    SchemaConversionBuilder schemaGenerator = new SchemaConversionBuilder(parser);\n    SchemaConversion conversion = schemaGenerator.build();\n    assertNotNull(conversion, \"conversion should not be null.\");\n\n    LogEntry entry = mock(LogEntry.class);\n    when(entry.fieldTypes()).thenReturn(fieldTypes);\n    when(entry.fieldData()).thenReturn(fieldData);\n\n    SchemaAndValue actual = conversion.convert(entry);\n    assertNotNull(actual, \"actual should not be null\");\n//    assertNotNull(actual.getKey(), \"actual.getKey() should not be null\");\n    assertNotNull(actual.schema(), \"actual.getValue() should not be null\");\n    assertNotNull(actual.value(), \"actual.getValue() should not be null\");\n\n//    actual.getValue()..validate();\n\n//date time x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uri-stem sc-status cs(Referer) cs(User-Agent) cs-uri-query cs(Cookie) x-edge-result-type x-edge-request-id x-host-header cs-protocol cs-bytes time-taken\n\n\n  }\n\n\n}\n"
  },
  {
    "path": "src/test/java/com/github/jcustenborder/kafka/connect/spooldir/elf/SpoolDirELFSourceTaskTest.java",
    "content": "/**\n * Copyright © 2016 Jeremy Custenborder (jcustenborder@gmail.com)\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.github.jcustenborder.kafka.connect.spooldir.elf;\n\nimport com.github.jcustenborder.kafka.connect.spooldir.AbstractSpoolDirSourceTaskTest;\nimport com.github.jcustenborder.kafka.connect.spooldir.TestCase;\nimport com.google.common.io.Files;\nimport org.junit.jupiter.api.DynamicTest;\nimport org.junit.jupiter.api.TestFactory;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.util.List;\nimport java.util.Map;\nimport java.util.stream.Stream;\n\nimport static org.junit.jupiter.api.DynamicTest.dynamicTest;\n\npublic class SpoolDirELFSourceTaskTest extends AbstractSpoolDirSourceTaskTest<SpoolDirELFSourceTask> {\n  private static final Logger log = LoggerFactory.getLogger(SpoolDirELFSourceTaskTest.class);\n\n  @Override\n  protected SpoolDirELFSourceTask createTask() {\n    return new SpoolDirELFSourceTask();\n  }\n\n  @Override\n  protected Map<String, String> settings() {\n    Map<String, String> settings = super.settings();\n//    settings.put(SpoolDirELFSourceConnectorConfig.CSV_FIRST_ROW_AS_HEADER_CONF, \"true\");\n//    settings.put(SpoolDirCsvSourceConnectorConfig.CSV_NULL_FIELD_INDICATOR_CONF, \"BOTH\");\n//    settings.put(SpoolDirCsvSourceConnectorConfig.PARSER_TIMESTAMP_DATE_FORMATS_CONF, \"yyyy-MM-dd'T'HH:mm:ss'Z'\");\n    return settings;\n  }\n\n  @TestFactory\n  public Stream<DynamicTest> poll() throws IOException {\n    final String packageName = \"elf\";\n    List<TestCase> testCases = loadTestCases(packageName);\n\n    return testCases.stream().map(testCase -> {\n      String name = Files.getNameWithoutExtension(testCase.path.toString());\n      return dynamicTest(name, () -> {\n        poll(packageName, testCase);\n\n      });\n    });\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/SpoolBinaryFileSourceConnector/binary.json",
    "content": "{\n  \"name\": \"Binary File\",\n  \"description\": \"This file will read the entire file and write it to Kafka as a binary file.\",\n  \"config\": {\n    \"finished.path\": \"/tmp\",\n    \"input.path\": \"/tmp\",\n    \"error.path\": \"/tmp\",\n    \"input.file.pattern\": \"^users\\\\d+\\\\.bin$\",\n    \"topic\": \"users\"\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/SpoolBinaryFileSourceConnector/fromXML.json",
    "content": "{\n  \"name\": \"Transform XML Files\",\n  \"description\": \"This example will use the FromXml transformation to read the binary data based on the supplied XSD. This allows files to be converted to strongly typed data based on the XSD. Once Kafka connect has converted the data it can be stored as AVRO, JSON, or whatever converter the user chooses.\",\n  \"config\": {\n    \"finished.path\": \"/tmp\",\n    \"input.path\": \"/tmp\",\n    \"error.path\": \"/tmp\",\n    \"input.file.pattern\": \"^users\\\\d+\\\\.bin$\",\n    \"topic\": \"users\",\n    \"transforms\": \"FromXml\",\n    \"transforms.FromXml.type\":\"com.github.jcustenborder.kafka.connect.transform.xml.FromXml$Value\",\n    \"transforms.FromXml.schema.path\": \"file:///books.xsd\"\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirBinaryFileSourceConnector/binary.json",
    "content": "{\n  \"name\": \"Binary File\",\n  \"description\": \"This file will read the entire file and write it to Kafka as a binary file.\",\n  \"config\": {\n    \"finished.path\": \"/tmp\",\n    \"input.path\": \"/tmp\",\n    \"error.path\": \"/tmp\",\n    \"input.file.pattern\": \"^users\\\\d+\\\\.bin$\",\n    \"topic\": \"users\"\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirBinaryFileSourceConnector/fromXML.json",
    "content": "{\n  \"name\": \"Transform XML Files\",\n  \"description\": \"This example will use the FromXml transformation to read the binary data based on the supplied XSD. This allows files to be converted to strongly typed data based on the XSD. Once Kafka connect has converted the data it can be stored as AVRO, JSON, or whatever converter the user chooses.\",\n  \"config\": {\n    \"finished.path\": \"/tmp\",\n    \"input.path\": \"/tmp\",\n    \"error.path\": \"/tmp\",\n    \"input.file.pattern\": \"^users\\\\d+\\\\.bin$\",\n    \"topic\": \"users\",\n    \"transforms\": \"FromXml\",\n    \"transforms.FromXml.type\":\"com.github.jcustenborder.kafka.connect.transform.xml.FromXml$Value\",\n    \"transforms.FromXml.schema.path\": \"file:///books.xsd\"\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceConnector/schema.json",
    "content": "{\n  \"name\": \"CSV with schema\",\n  \"description\": \"This example will read csv files and write them to Kafka parsing them to the\\nschema specified in ``key.schema`` and ``value.schema``.\",\n  \"note\": \"The data for the following example is formatted as such.\\nid,first_name,last_name,email,gender,ip_address,last_login,account_balance,country,favorite_color\\n1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT,#4a2313\",\n  \"config\": {\n    \"finished.path\": \"/tmp\",\n    \"input.path\": \"/tmp\",\n    \"error.path\": \"/tmp\",\n    \"input.file.pattern\": \"^users\\\\d+\\\\.csv\",\n    \"topic\": \"users\",\n    \"key.schema\": \"{\\n  \\\"name\\\" : \\\"com.example.users.UserKey\\\",\\n  \\\"type\\\" : \\\"STRUCT\\\",\\n  \\\"isOptional\\\" : false,\\n  \\\"fieldSchemas\\\" : {\\n    \\\"id\\\" : {\\n      \\\"type\\\" : \\\"INT64\\\",\\n      \\\"isOptional\\\" : false\\n    }\\n  }\\n}\\n\",\n    \"value.schema\": \"{\\n  \\\"name\\\" : \\\"com.example.users.User\\\",\\n  \\\"type\\\" : \\\"STRUCT\\\",\\n  \\\"isOptional\\\" : false,\\n  \\\"fieldSchemas\\\" : {\\n    \\\"id\\\" : {\\n      \\\"type\\\" : \\\"INT64\\\",\\n      \\\"isOptional\\\" : false\\n    },\\n    \\\"first_name\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"last_name\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"email\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"gender\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"ip_address\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"last_login\\\" : {\\n      \\\"name\\\" : \\\"org.apache.kafka.connect.data.Timestamp\\\",\\n      \\\"type\\\" : \\\"INT64\\\",\\n      \\\"version\\\" : 1,\\n      \\\"isOptional\\\" : false\\n    },\\n    \\\"account_balance\\\" : {\\n      \\\"name\\\" : \\\"org.apache.kafka.connect.data.Decimal\\\",\\n      \\\"type\\\" : \\\"BYTES\\\",\\n      \\\"version\\\" : 1,\\n      \\\"parameters\\\" : {\\n        \\\"scale\\\" : \\\"2\\\"\\n      },\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"country\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"favorite_color\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    }\\n  }\\n}\\n\"\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceConnector/schemaheaders.json",
    "content": "{\n  \"name\": \"CSV with Headers as fields\",\n  \"description\": \"This example will use a transformation to copy data from the header(s) of the message to field(s) in the message.\",\n  \"note\": \"The data for the following example is formatted as such.\\nid,first_name,last_name,email,gender,ip_address,last_login,account_balance,country,favorite_color\\n1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT,#4a2313\",\n  \"config\": {\n    \"finished.path\": \"/tmp\",\n    \"input.path\": \"/tmp\",\n    \"error.path\": \"/tmp\",\n    \"input.file.pattern\": \"^users\\\\d+\\\\.csv\",\n    \"topic\": \"users\",\n    \"key.schema\": \"{\\n  \\\"name\\\" : \\\"com.example.users.UserKey\\\",\\n  \\\"type\\\" : \\\"STRUCT\\\",\\n  \\\"isOptional\\\" : false,\\n  \\\"fieldSchemas\\\" : {\\n    \\\"id\\\" : {\\n      \\\"type\\\" : \\\"INT64\\\",\\n      \\\"isOptional\\\" : false\\n    }\\n  }\\n}\\n\",\n    \"value.schema\": \"{\\n  \\\"name\\\" : \\\"com.example.users.User\\\",\\n  \\\"type\\\" : \\\"STRUCT\\\",\\n  \\\"isOptional\\\" : false,\\n  \\\"fieldSchemas\\\" : {\\n    \\\"id\\\" : {\\n      \\\"type\\\" : \\\"INT64\\\",\\n      \\\"isOptional\\\" : false\\n    },\\n    \\\"first_name\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"last_name\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"email\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"gender\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"ip_address\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"last_login\\\" : {\\n      \\\"name\\\" : \\\"org.apache.kafka.connect.data.Timestamp\\\",\\n      \\\"type\\\" : \\\"INT64\\\",\\n      \\\"version\\\" : 1,\\n      \\\"isOptional\\\" : false\\n    },\\n    \\\"account_balance\\\" : {\\n      \\\"name\\\" : \\\"org.apache.kafka.connect.data.Decimal\\\",\\n      \\\"type\\\" : \\\"BYTES\\\",\\n      \\\"version\\\" : 1,\\n      \\\"parameters\\\" : {\\n        \\\"scale\\\" : \\\"2\\\"\\n      },\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"country\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    },\\n    \\\"favorite_color\\\" : {\\n      \\\"type\\\" : \\\"STRING\\\",\\n      \\\"isOptional\\\" : true\\n    }\\n  }\\n}\\n\"\n  },\n  \"transformations\": {\n    \"headerToField\": {\n      \"type\": \"com.github.jcustenborder.kafka.connect.transform.common.HeaderToField$Value\",\n      \"header.mappings\" : \"file.path:STRING:file_path,file.name:STRING:file_name,file.last.modified:INT64(Timestamp):file_last_modified\"\n    }\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirCsvSourceConnector/tsv.json",
    "content": "{\n  \"name\": \"TSV input file\",\n  \"description\": \"This example will read a tab separated file. This method is very similar to reading a standard CSV file.\",\n  \"config\": {\n    \"finished.path\": \"/tmp\",\n    \"input.path\": \"/tmp\",\n    \"error.path\": \"/tmp\",\n    \"input.file.pattern\": \"^users\\\\d+\\\\.tsv\",\n    \"topic\": \"users\",\n    \"csv.separator.char\": 11\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirJsonSourceConnector/test.json",
    "content": "{\n  \"name\":\"Json\",\n  \"description\":\"This example will read json from the input directory.\",\n  \"config\":{\n    \"finished.path\": \"/tmp\",\n    \"input.path\": \"/tmp\",\n    \"error.path\": \"/tmp\",\n    \"input.file.pattern\":\"^users\\\\d+\\\\.json$\",\n    \"topic\":\"users\"\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/SpoolDirLineDelimitedSourceConnector/fix.json",
    "content": "{\n  \"description\" : \"This example will read files in a directory line by line and parse them using kafka-connect-transform-fix to a FIX representation of the data.\",\n  \"name\" : \"FIX encoded lines\",\n  \"config\" : {\n    \"topic\" : \"fix\",\n    \"input.path\" : \"/tmp\",\n    \"input.file.pattern\" : \"^.+\\\\.fix$\",\n    \"error.path\" : \"/tmp\",\n    \"finished.path\" : \"/tmp\"\n  },\n  \"transformations\" : {\n    \"fromFix\" : {\n      \"type\" : \"com.github.jcustenborder.kafka.connect.transform.fix.FromFIX$Value\"\n    }\n  },\n  \"output\" : {\n    \"sourcePartition\" : { },\n    \"sourceOffset\" : { },\n    \"topic\" : \"fix\",\n    \"kafkaPartition\" : 0,\n    \"valueSchema\" : {\n      \"name\" : \"fix42.NewOrderSingle\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"Account\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"1\"\n          },\n          \"isOptional\" : true\n        },\n        \"CashOrderQty\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"152\"\n          },\n          \"isOptional\" : true\n        },\n        \"CheckSum\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"10\"\n          },\n          \"isOptional\" : true\n        },\n        \"ClOrdID\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"11\"\n          },\n          \"isOptional\" : true\n        },\n        \"ClearingAccount\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"440\"\n          },\n          \"isOptional\" : true\n        },\n        \"ClearingFirm\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"439\"\n          },\n          \"isOptional\" : true\n        },\n        \"ClientID\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"109\"\n          },\n          \"isOptional\" : true\n        },\n        \"CommType\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"13\"\n          },\n          \"isOptional\" : true\n        },\n        \"Commission\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"12\"\n          },\n          \"isOptional\" : true\n        },\n        \"ComplianceID\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"376\"\n          },\n          \"isOptional\" : true\n        },\n        \"ContractMultiplier\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"231\"\n          },\n          \"isOptional\" : true\n        },\n        \"CouponRate\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"223\"\n          },\n          \"isOptional\" : true\n        },\n        \"CoveredOrUncovered\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"203\"\n          },\n          \"isOptional\" : true\n        },\n        \"Currency\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"15\"\n          },\n          \"isOptional\" : true\n        },\n        \"CustomerOrFirm\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"204\"\n          },\n          \"isOptional\" : true\n        },\n        \"DiscretionInst\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"388\"\n          },\n          \"isOptional\" : true\n        },\n        \"DiscretionOffset\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"389\"\n          },\n          \"isOptional\" : true\n        },\n        \"EffectiveTime\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"fix.field\" : \"168\"\n          },\n          \"isOptional\" : true\n        },\n        \"EncodedIssuer\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"349\"\n          },\n          \"isOptional\" : true\n        },\n        \"EncodedIssuerLen\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"348\"\n          },\n          \"isOptional\" : true\n        },\n        \"EncodedSecurityDesc\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"351\"\n          },\n          \"isOptional\" : true\n        },\n        \"EncodedSecurityDescLen\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"350\"\n          },\n          \"isOptional\" : true\n        },\n        \"EncodedText\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"355\"\n          },\n          \"isOptional\" : true\n        },\n        \"EncodedTextLen\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"354\"\n          },\n          \"isOptional\" : true\n        },\n        \"ExDestination\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"100\"\n          },\n          \"isOptional\" : true\n        },\n        \"ExecBroker\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"76\"\n          },\n          \"isOptional\" : true\n        },\n        \"ExecInst\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"18\"\n          },\n          \"isOptional\" : true\n        },\n        \"ExpireDate\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"432\"\n          },\n          \"isOptional\" : true\n        },\n        \"ExpireTime\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"fix.field\" : \"126\"\n          },\n          \"isOptional\" : true\n        },\n        \"ForexReq\" : {\n          \"type\" : \"BOOLEAN\",\n          \"parameters\" : {\n            \"fix.field\" : \"121\"\n          },\n          \"isOptional\" : true\n        },\n        \"FutSettDate\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"64\"\n          },\n          \"isOptional\" : true\n        },\n        \"FutSettDate2\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"193\"\n          },\n          \"isOptional\" : true\n        },\n        \"GTBookingInst\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"427\"\n          },\n          \"isOptional\" : true\n        },\n        \"HandlInst\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"21\"\n          },\n          \"isOptional\" : true\n        },\n        \"IDSource\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"22\"\n          },\n          \"isOptional\" : true\n        },\n        \"IOIID\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"23\"\n          },\n          \"isOptional\" : true\n        },\n        \"Issuer\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"106\"\n          },\n          \"isOptional\" : true\n        },\n        \"LocateReqd\" : {\n          \"type\" : \"BOOLEAN\",\n          \"parameters\" : {\n            \"fix.field\" : \"114\"\n          },\n          \"isOptional\" : true\n        },\n        \"MaturityDay\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"205\"\n          },\n          \"isOptional\" : true\n        },\n        \"MaturityMonthYear\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"200\"\n          },\n          \"isOptional\" : true\n        },\n        \"MaxFloor\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"111\"\n          },\n          \"isOptional\" : true\n        },\n        \"MaxShow\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"210\"\n          },\n          \"isOptional\" : true\n        },\n        \"MinQty\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"110\"\n          },\n          \"isOptional\" : true\n        },\n        \"NoAllocs\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"78\"\n          },\n          \"isOptional\" : true\n        },\n        \"NoTradingSessions\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"386\"\n          },\n          \"isOptional\" : true\n        },\n        \"OpenClose\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"77\"\n          },\n          \"isOptional\" : true\n        },\n        \"OptAttribute\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"206\"\n          },\n          \"isOptional\" : true\n        },\n        \"OrdType\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"40\"\n          },\n          \"isOptional\" : true\n        },\n        \"OrderQty\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"38\"\n          },\n          \"isOptional\" : true\n        },\n        \"OrderQty2\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"192\"\n          },\n          \"isOptional\" : true\n        },\n        \"PegDifference\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"211\"\n          },\n          \"isOptional\" : true\n        },\n        \"PrevClosePx\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"140\"\n          },\n          \"isOptional\" : true\n        },\n        \"Price\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"44\"\n          },\n          \"isOptional\" : true\n        },\n        \"ProcessCode\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"81\"\n          },\n          \"isOptional\" : true\n        },\n        \"PutOrCall\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"201\"\n          },\n          \"isOptional\" : true\n        },\n        \"QuoteID\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"117\"\n          },\n          \"isOptional\" : true\n        },\n        \"Rule80A\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"47\"\n          },\n          \"isOptional\" : true\n        },\n        \"SecurityDesc\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"107\"\n          },\n          \"isOptional\" : true\n        },\n        \"SecurityExchange\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"207\"\n          },\n          \"isOptional\" : true\n        },\n        \"SecurityID\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"48\"\n          },\n          \"isOptional\" : true\n        },\n        \"SecurityType\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"167\"\n          },\n          \"isOptional\" : true\n        },\n        \"SettlCurrency\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"120\"\n          },\n          \"isOptional\" : true\n        },\n        \"SettlmntTyp\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"63\"\n          },\n          \"isOptional\" : true\n        },\n        \"Side\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"54\"\n          },\n          \"isOptional\" : true\n        },\n        \"Signature\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"89\"\n          },\n          \"isOptional\" : true\n        },\n        \"SignatureLength\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"93\"\n          },\n          \"isOptional\" : true\n        },\n        \"SolicitedFlag\" : {\n          \"type\" : \"BOOLEAN\",\n          \"parameters\" : {\n            \"fix.field\" : \"377\"\n          },\n          \"isOptional\" : true\n        },\n        \"StopPx\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"99\"\n          },\n          \"isOptional\" : true\n        },\n        \"StrikePrice\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"202\"\n          },\n          \"isOptional\" : true\n        },\n        \"Symbol\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"55\"\n          },\n          \"isOptional\" : true\n        },\n        \"SymbolSfx\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"65\"\n          },\n          \"isOptional\" : true\n        },\n        \"Text\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"58\"\n          },\n          \"isOptional\" : true\n        },\n        \"TimeInForce\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"59\"\n          },\n          \"isOptional\" : true\n        },\n        \"TransactTime\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"fix.field\" : \"60\"\n          },\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"fix42.NewOrderSingle\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"Account\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"1\"\n            },\n            \"isOptional\" : true\n          },\n          \"CashOrderQty\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"152\"\n            },\n            \"isOptional\" : true\n          },\n          \"CheckSum\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"10\"\n            },\n            \"isOptional\" : true\n          },\n          \"ClOrdID\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"11\"\n            },\n            \"isOptional\" : true\n          },\n          \"ClearingAccount\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"440\"\n            },\n            \"isOptional\" : true\n          },\n          \"ClearingFirm\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"439\"\n            },\n            \"isOptional\" : true\n          },\n          \"ClientID\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"109\"\n            },\n            \"isOptional\" : true\n          },\n          \"CommType\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"13\"\n            },\n            \"isOptional\" : true\n          },\n          \"Commission\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"12\"\n            },\n            \"isOptional\" : true\n          },\n          \"ComplianceID\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"376\"\n            },\n            \"isOptional\" : true\n          },\n          \"ContractMultiplier\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"231\"\n            },\n            \"isOptional\" : true\n          },\n          \"CouponRate\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"223\"\n            },\n            \"isOptional\" : true\n          },\n          \"CoveredOrUncovered\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"203\"\n            },\n            \"isOptional\" : true\n          },\n          \"Currency\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"15\"\n            },\n            \"isOptional\" : true\n          },\n          \"CustomerOrFirm\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"204\"\n            },\n            \"isOptional\" : true\n          },\n          \"DiscretionInst\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"388\"\n            },\n            \"isOptional\" : true\n          },\n          \"DiscretionOffset\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"389\"\n            },\n            \"isOptional\" : true\n          },\n          \"EffectiveTime\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"fix.field\" : \"168\"\n            },\n            \"isOptional\" : true\n          },\n          \"EncodedIssuer\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"349\"\n            },\n            \"isOptional\" : true\n          },\n          \"EncodedIssuerLen\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"348\"\n            },\n            \"isOptional\" : true\n          },\n          \"EncodedSecurityDesc\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"351\"\n            },\n            \"isOptional\" : true\n          },\n          \"EncodedSecurityDescLen\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"350\"\n            },\n            \"isOptional\" : true\n          },\n          \"EncodedText\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"355\"\n            },\n            \"isOptional\" : true\n          },\n          \"EncodedTextLen\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"354\"\n            },\n            \"isOptional\" : true\n          },\n          \"ExDestination\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"100\"\n            },\n            \"isOptional\" : true\n          },\n          \"ExecBroker\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"76\"\n            },\n            \"isOptional\" : true\n          },\n          \"ExecInst\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"18\"\n            },\n            \"isOptional\" : true\n          },\n          \"ExpireDate\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"432\"\n            },\n            \"isOptional\" : true\n          },\n          \"ExpireTime\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"fix.field\" : \"126\"\n            },\n            \"isOptional\" : true\n          },\n          \"ForexReq\" : {\n            \"type\" : \"BOOLEAN\",\n            \"parameters\" : {\n              \"fix.field\" : \"121\"\n            },\n            \"isOptional\" : true\n          },\n          \"FutSettDate\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"64\"\n            },\n            \"isOptional\" : true\n          },\n          \"FutSettDate2\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"193\"\n            },\n            \"isOptional\" : true\n          },\n          \"GTBookingInst\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"427\"\n            },\n            \"isOptional\" : true\n          },\n          \"HandlInst\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"21\"\n            },\n            \"isOptional\" : true\n          },\n          \"IDSource\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"22\"\n            },\n            \"isOptional\" : true\n          },\n          \"IOIID\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"23\"\n            },\n            \"isOptional\" : true\n          },\n          \"Issuer\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"106\"\n            },\n            \"isOptional\" : true\n          },\n          \"LocateReqd\" : {\n            \"type\" : \"BOOLEAN\",\n            \"parameters\" : {\n              \"fix.field\" : \"114\"\n            },\n            \"isOptional\" : true\n          },\n          \"MaturityDay\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"205\"\n            },\n            \"isOptional\" : true\n          },\n          \"MaturityMonthYear\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"200\"\n            },\n            \"isOptional\" : true\n          },\n          \"MaxFloor\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"111\"\n            },\n            \"isOptional\" : true\n          },\n          \"MaxShow\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"210\"\n            },\n            \"isOptional\" : true\n          },\n          \"MinQty\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"110\"\n            },\n            \"isOptional\" : true\n          },\n          \"NoAllocs\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"78\"\n            },\n            \"isOptional\" : true\n          },\n          \"NoTradingSessions\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"386\"\n            },\n            \"isOptional\" : true\n          },\n          \"OpenClose\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"77\"\n            },\n            \"isOptional\" : true\n          },\n          \"OptAttribute\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"206\"\n            },\n            \"isOptional\" : true\n          },\n          \"OrdType\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"40\"\n            },\n            \"isOptional\" : true\n          },\n          \"OrderQty\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"38\"\n            },\n            \"isOptional\" : true\n          },\n          \"OrderQty2\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"192\"\n            },\n            \"isOptional\" : true\n          },\n          \"PegDifference\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"211\"\n            },\n            \"isOptional\" : true\n          },\n          \"PrevClosePx\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"140\"\n            },\n            \"isOptional\" : true\n          },\n          \"Price\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"44\"\n            },\n            \"isOptional\" : true\n          },\n          \"ProcessCode\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"81\"\n            },\n            \"isOptional\" : true\n          },\n          \"PutOrCall\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"201\"\n            },\n            \"isOptional\" : true\n          },\n          \"QuoteID\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"117\"\n            },\n            \"isOptional\" : true\n          },\n          \"Rule80A\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"47\"\n            },\n            \"isOptional\" : true\n          },\n          \"SecurityDesc\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"107\"\n            },\n            \"isOptional\" : true\n          },\n          \"SecurityExchange\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"207\"\n            },\n            \"isOptional\" : true\n          },\n          \"SecurityID\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"48\"\n            },\n            \"isOptional\" : true\n          },\n          \"SecurityType\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"167\"\n            },\n            \"isOptional\" : true\n          },\n          \"SettlCurrency\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"120\"\n            },\n            \"isOptional\" : true\n          },\n          \"SettlmntTyp\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"63\"\n            },\n            \"isOptional\" : true\n          },\n          \"Side\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"54\"\n            },\n            \"isOptional\" : true\n          },\n          \"Signature\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"89\"\n            },\n            \"isOptional\" : true\n          },\n          \"SignatureLength\" : {\n            \"type\" : \"INT32\",\n            \"parameters\" : {\n              \"fix.field\" : \"93\"\n            },\n            \"isOptional\" : true\n          },\n          \"SolicitedFlag\" : {\n            \"type\" : \"BOOLEAN\",\n            \"parameters\" : {\n              \"fix.field\" : \"377\"\n            },\n            \"isOptional\" : true\n          },\n          \"StopPx\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"99\"\n            },\n            \"isOptional\" : true\n          },\n          \"StrikePrice\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"fix.field\" : \"202\"\n            },\n            \"isOptional\" : true\n          },\n          \"Symbol\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"55\"\n            },\n            \"isOptional\" : true\n          },\n          \"SymbolSfx\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"65\"\n            },\n            \"isOptional\" : true\n          },\n          \"Text\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"58\"\n            },\n            \"isOptional\" : true\n          },\n          \"TimeInForce\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"fix.field\" : \"59\"\n            },\n            \"isOptional\" : true\n          },\n          \"TransactTime\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"fix.field\" : \"60\"\n            },\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"Account\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"1\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"CashOrderQty\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"152\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"CheckSum\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"10\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ClOrdID\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"11\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NF 0542/03232009\"\n      }, {\n        \"name\" : \"ClearingAccount\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"440\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ClearingFirm\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"439\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ClientID\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"109\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"CommType\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"13\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"Commission\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"12\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ComplianceID\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"376\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ContractMultiplier\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"231\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"CouponRate\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"223\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"CoveredOrUncovered\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"203\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"Currency\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"15\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"CustomerOrFirm\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"204\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"DiscretionInst\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"388\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"DiscretionOffset\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"389\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"EffectiveTime\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"fix.field\" : \"168\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"EncodedIssuer\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"349\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"EncodedIssuerLen\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"348\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"EncodedSecurityDesc\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"351\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"EncodedSecurityDescLen\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"350\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"EncodedText\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"355\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"EncodedTextLen\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"354\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ExDestination\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"100\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ExecBroker\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"76\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ExecInst\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"18\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ExpireDate\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"432\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ExpireTime\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"fix.field\" : \"126\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ForexReq\",\n        \"schema\" : {\n          \"type\" : \"BOOLEAN\",\n          \"parameters\" : {\n            \"fix.field\" : \"121\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"FutSettDate\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"64\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"FutSettDate2\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"193\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"GTBookingInst\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"427\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"HandlInst\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"21\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"1\"\n      }, {\n        \"name\" : \"IDSource\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"22\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"IOIID\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"23\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"Issuer\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"106\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"LocateReqd\",\n        \"schema\" : {\n          \"type\" : \"BOOLEAN\",\n          \"parameters\" : {\n            \"fix.field\" : \"114\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"MaturityDay\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"205\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"MaturityMonthYear\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"200\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"MaxFloor\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"111\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"MaxShow\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"210\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"MinQty\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"110\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"NoAllocs\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"78\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"NoTradingSessions\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"386\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"OpenClose\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"77\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"OptAttribute\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"206\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"OrdType\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"40\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"1\"\n      }, {\n        \"name\" : \"OrderQty\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"38\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 100.0\n      }, {\n        \"name\" : \"OrderQty2\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"192\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"PegDifference\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"211\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"PrevClosePx\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"140\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"Price\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"44\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ProcessCode\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"81\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"PutOrCall\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"201\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"QuoteID\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"117\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"Rule80A\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"47\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"A\"\n      }, {\n        \"name\" : \"SecurityDesc\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"107\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"SecurityExchange\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"207\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"N\"\n      }, {\n        \"name\" : \"SecurityID\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"48\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"SecurityType\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"167\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"SettlCurrency\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"120\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"SettlmntTyp\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"63\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"Side\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"54\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"1\"\n      }, {\n        \"name\" : \"Signature\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"89\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"SignatureLength\",\n        \"schema\" : {\n          \"type\" : \"INT32\",\n          \"parameters\" : {\n            \"fix.field\" : \"93\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"SolicitedFlag\",\n        \"schema\" : {\n          \"type\" : \"BOOLEAN\",\n          \"parameters\" : {\n            \"fix.field\" : \"377\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"StopPx\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"99\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"StrikePrice\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"fix.field\" : \"202\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"Symbol\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"55\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CVS\"\n      }, {\n        \"name\" : \"SymbolSfx\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"65\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"Text\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"58\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"TimeInForce\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"fix.field\" : \"59\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"0\"\n      }, {\n        \"name\" : \"TransactTime\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"fix.field\" : \"60\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 1237822829000\n      } ]\n    },\n    \"headers\" : [ ]\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/avro/FieldsMatch.json",
    "content": "{\n  \"settings\" : {\n    \"avro.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 0\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 0\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 64319.61\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 82687.61\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 77124.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 55799.93\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 40385.72\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 48183.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 52924.60\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -16688.36\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 67643.16\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 79170.84\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.avro\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 36684.92\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.name.without.extension\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1611115121380-0/input/FieldsMatch.avro\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2291\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1611115121951\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/binary/DataHasMoreFields.data",
    "content": "asdifoasodfasdfargasdfasdfasdgfrasdfasdfasdfa"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/binary/DataHasMoreFields.json",
    "content": "{\n  \"settings\": {},\n  \"offset\": {},\n  \"expected\": [\n    {\n      \"sourcePartition\": {\n        \"fileName\": \"DataHasMoreFields.binary\"\n      },\n      \"sourceOffset\": {\n        \"offset\": 0\n      },\n      \"topic\": \"testing\",\n      \"valueSchema\": {\n        \"type\": \"BYTES\",\n        \"isOptional\": false\n      },\n      \"value\": \"YXNkaWZvYXNvZGZhc2RmYXJnYXNkZmFzZGZhc2RnZnJhc2RmYXNkZmFzZGZh\",\n      \"headers\": [\n        {\n          \"name\": \"file.name\",\n          \"schema\": {\n            \"type\": \"STRING\",\n            \"isOptional\": false\n          },\n          \"storage\": \"DataHasMoreFields.binary\"\n        },\n        {\n          \"name\": \"file.path\",\n          \"schema\": {\n            \"type\": \"STRING\",\n            \"isOptional\": false\n          },\n          \"storage\": \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.binary\"\n        },\n        {\n          \"name\": \"file.length\",\n          \"schema\": {\n            \"type\": \"INT64\",\n            \"isOptional\": false\n          },\n          \"storage\": 5153\n        },\n        {\n          \"name\": \"file.offset\",\n          \"schema\": {\n            \"type\": \"INT64\",\n            \"isOptional\": false\n          },\n          \"storage\": 0\n        },\n        {\n          \"name\": \"file.last.modified\",\n          \"schema\": {\n            \"name\": \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\": \"INT64\",\n            \"version\": 1,\n            \"isOptional\": false\n          },\n          \"storage\": 1559925239000\n        }\n      ]\n    }\n  ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/BlankLines.data",
    "content": "id,first_name,last_name,email,gender,ip_address,last_login,account_balance,country,favorite_color\n1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT,#4a2313\n2,John,Kim,jkim1@miibeian.gov.cn,Male,53.19.132.185,2015-11-14T10:34:09Z,251.24,CZ,#3e56cf\n3,Ashley,Austin,aaustin2@hatena.ne.jp,Female,21.164.37.9,,819.47,CN,\n4,Jonathan,Mcdonald,jmcdonald3@amazon.co.uk,Male,188.172.42.140,2015-12-28T14:37:01Z,868.38,ID,#1b1414\n5,Helen,Lane,hlane4@trellian.com,Female,159.171.138.190,2016-06-30T18:41:18Z,398.97,TN,\n6,Scott,Lopez,slopez5@google.co.jp,Male,86.194.226.35,2015-08-13T02:13:51Z,322.99,BR,\n7,Christine,Franklin,cfranklin6@reuters.com,Female,248.173.207.64,2015-12-22T11:29:57Z,301.26,PH,#1d5e9d\n8,Helen,Andrews,handrews7@histats.com,Female,83.160.63.181,2016-03-06T11:41:10Z,217.96,CU,\n9,Stephanie,Gordon,sgordon8@goodreads.com,Female,193.143.42.212,2015-10-27T22:07:24Z,495.80,CN,\n10,Shirley,Andrews,sandrews9@flickr.com,Female,99.113.183.206,2015-11-07T11:12:52Z,157.75,BR,#fc1da9\n11,Joshua,Reid,jreida@wikia.com,Male,197.96.118.164,2015-08-22T13:16:18Z,431.80,CO,#6e3e36\n12,Frances,Parker,fparkerb@engadget.com,Female,226.237.57.25,2015-10-18T01:50:15Z,188.21,BR,#73e909\n13,Sharon,Lawson,slawsonc@bravesites.com,Female,198.189.134.106,2016-01-14T17:51:09Z,206.73,VN,\n14,Elizabeth,Wells,ewellsd@redcross.org,Female,120.108.59.206,2015-09-02T21:53:07Z,499.48,CZ,#e9c943\n15,Norma,Wilson,nwilsone@google.com.br,Female,18.246.76.220,2015-09-27T02:10:48Z,-65.19,SE,#645119\n16,Joan,Watkins,jwatkinsf@yolasite.com,Female,240.27.33.114,2016-03-31T00:29:14Z,264.23,PH,\n17,Gerald,Hamilton,ghamiltong@fc2.com,Male,182.75.62.95,2016-02-10T14:29:35Z,309.26,ID,\n18,Paula,Taylor,ptaylorh@wikispaces.com,Female,245.74.203.0,2016-05-11T03:15:10Z,927.45,CN,\n19,Carolyn,Burns,cburnsi@marketwatch.com,Female,180.243.11.10,2016-02-28T18:49:23Z,752.76,NL,\n20,Robin,Bennett,rbennettj@cdc.gov,Female,169.77.92.179,2016-02-15T01:06:44Z,143.30,ID,#506128\n\n\n\n   "
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/BlankLines.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"BlankLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 20\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"BlankLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/BlankLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 20\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/DataHasMoreFields.data",
    "content": "id,first_name,last_name,email,gender,ip_address,last_login,account_balance,country,favorite_color,column11\n1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT,#4a2313,asdsa\n2,John,Kim,jkim1@miibeian.gov.cn,Male,53.19.132.185,2015-11-14T10:34:09Z,251.24,CZ,#3e56cf,asd\n3,Ashley,Austin,aaustin2@hatena.ne.jp,Female,21.164.37.9,,819.47,CN,,f\n4,Jonathan,Mcdonald,jmcdonald3@amazon.co.uk,Male,188.172.42.140,2015-12-28T14:37:01Z,868.38,ID,#1b1414,as\n5,Helen,Lane,hlane4@trellian.com,Female,159.171.138.190,2016-06-30T18:41:18Z,398.97,TN,,g\n6,Scott,Lopez,slopez5@google.co.jp,Male,86.194.226.35,2015-08-13T02:13:51Z,322.99,BR,,g\n7,Christine,Franklin,cfranklin6@reuters.com,Female,248.173.207.64,2015-12-22T11:29:57Z,301.26,PH,#1d5e9d,h\n8,Helen,Andrews,handrews7@histats.com,Female,83.160.63.181,2016-03-06T11:41:10Z,217.96,CU,,j\n9,Stephanie,Gordon,sgordon8@goodreads.com,Female,193.143.42.212,2015-10-27T22:07:24Z,495.80,CN,,f\n10,Shirley,Andrews,sandrews9@flickr.com,Female,99.113.183.206,2015-11-07T11:12:52Z,157.75,BR,#fc1da9,s\n11,Joshua,Reid,jreida@wikia.com,Male,197.96.118.164,2015-08-22T13:16:18Z,431.80,CO,#6e3e36,dfg\n12,Frances,Parker,fparkerb@engadget.com,Female,226.237.57.25,2015-10-18T01:50:15Z,188.21,BR,#73e909,hg\n13,Sharon,Lawson,slawsonc@bravesites.com,Female,198.189.134.106,2016-01-14T17:51:09Z,206.73,VN,,s\n14,Elizabeth,Wells,ewellsd@redcross.org,Female,120.108.59.206,2015-09-02T21:53:07Z,499.48,CZ,#e9c943,fgs\n15,Norma,Wilson,nwilsone@google.com.br,Female,18.246.76.220,2015-09-27T02:10:48Z,-65.19,SE,#645119,sdfgs\n16,Joan,Watkins,jwatkinsf@yolasite.com,Female,240.27.33.114,2016-03-31T00:29:14Z,264.23,PH,,sdfg\n17,Gerald,Hamilton,ghamiltong@fc2.com,Male,182.75.62.95,2016-02-10T14:29:35Z,309.26,ID,,sdfg\n18,Paula,Taylor,ptaylorh@wikispaces.com,Female,245.74.203.0,2016-05-11T03:15:10Z,927.45,CN,,sdfg\n19,Carolyn,Burns,cburnsi@marketwatch.com,Female,180.243.11.10,2016-02-28T18:49:23Z,752.76,NL,,dsf\n20,Robin,Bennett,rbennettj@cdc.gov,Female,169.77.92.179,2016-02-15T01:06:44Z,143.30,ID,#506128,sdfgsdf"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/DataHasMoreFields.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 20\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/DataHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2050\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 20\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/FieldsMatch.data",
    "content": "id,first_name,last_name,email,gender,ip_address,last_login,account_balance,country,favorite_color\n1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT,#4a2313\n2,John,Kim,jkim1@miibeian.gov.cn,Male,53.19.132.185,2015-11-14T10:34:09Z,251.24,CZ,#3e56cf\n3,Ashley,Austin,aaustin2@hatena.ne.jp,Female,21.164.37.9,,819.47,CN,\n4,Jonathan,Mcdonald,jmcdonald3@amazon.co.uk,Male,188.172.42.140,2015-12-28T14:37:01Z,868.38,ID,#1b1414\n5,Helen,Lane,hlane4@trellian.com,Female,159.171.138.190,2016-06-30T18:41:18Z,398.97,TN,\n6,Scott,Lopez,slopez5@google.co.jp,Male,86.194.226.35,2015-08-13T02:13:51Z,322.99,BR,\n7,Christine,Franklin,cfranklin6@reuters.com,Female,248.173.207.64,2015-12-22T11:29:57Z,301.26,PH,#1d5e9d\n8,Helen,Andrews,handrews7@histats.com,Female,83.160.63.181,2016-03-06T11:41:10Z,217.96,CU,\n9,Stephanie,Gordon,sgordon8@goodreads.com,Female,193.143.42.212,2015-10-27T22:07:24Z,495.80,CN,\n10,Shirley,Andrews,sandrews9@flickr.com,Female,99.113.183.206,2015-11-07T11:12:52Z,157.75,BR,#fc1da9\n11,Joshua,Reid,jreida@wikia.com,Male,197.96.118.164,2015-08-22T13:16:18Z,431.80,CO,#6e3e36\n12,Frances,Parker,fparkerb@engadget.com,Female,226.237.57.25,2015-10-18T01:50:15Z,188.21,BR,#73e909\n13,Sharon,Lawson,slawsonc@bravesites.com,Female,198.189.134.106,2016-01-14T17:51:09Z,206.73,VN,\n14,Elizabeth,Wells,ewellsd@redcross.org,Female,120.108.59.206,2015-09-02T21:53:07Z,499.48,CZ,#e9c943\n15,Norma,Wilson,nwilsone@google.com.br,Female,18.246.76.220,2015-09-27T02:10:48Z,-65.19,SE,#645119\n16,Joan,Watkins,jwatkinsf@yolasite.com,Female,240.27.33.114,2016-03-31T00:29:14Z,264.23,PH,\n17,Gerald,Hamilton,ghamiltong@fc2.com,Male,182.75.62.95,2016-02-10T14:29:35Z,309.26,ID,\n18,Paula,Taylor,ptaylorh@wikispaces.com,Female,245.74.203.0,2016-05-11T03:15:10Z,927.45,CN,\n19,Carolyn,Burns,cburnsi@marketwatch.com,Female,180.243.11.10,2016-02-28T18:49:23Z,752.76,NL,\n20,Robin,Bennett,rbennettj@cdc.gov,Female,169.77.92.179,2016-02-15T01:06:44Z,143.30,ID,#506128"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/FieldsMatch.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 20\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 20\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/FileModeFieldFieldsMatch.data",
    "content": "id,first_name,last_name,email,gender,ip_address,last_login,account_balance,country,favorite_color\n1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT,#4a2313\n2,John,Kim,jkim1@miibeian.gov.cn,Male,53.19.132.185,2015-11-14T10:34:09Z,251.24,CZ,#3e56cf\n3,Ashley,Austin,aaustin2@hatena.ne.jp,Female,21.164.37.9,2015-11-14T10:34:09Z,819.47,CN,\n4,Jonathan,Mcdonald,jmcdonald3@amazon.co.uk,Male,188.172.42.140,2015-12-28T14:37:01Z,868.38,ID,#1b1414\n5,Helen,Lane,hlane4@trellian.com,Female,159.171.138.190,2016-06-30T18:41:18Z,398.97,TN,\n6,Scott,Lopez,slopez5@google.co.jp,Male,86.194.226.35,2015-08-13T02:13:51Z,322.99,BR,\n7,Christine,Franklin,cfranklin6@reuters.com,Female,248.173.207.64,2015-12-22T11:29:57Z,301.26,PH,#1d5e9d\n8,Helen,Andrews,handrews7@histats.com,Female,83.160.63.181,2016-03-06T11:41:10Z,217.96,CU,\n9,Stephanie,Gordon,sgordon8@goodreads.com,Female,193.143.42.212,2015-10-27T22:07:24Z,495.80,CN,\n10,Shirley,Andrews,sandrews9@flickr.com,Female,99.113.183.206,2015-11-07T11:12:52Z,157.75,BR,#fc1da9\n11,Joshua,Reid,jreida@wikia.com,Male,197.96.118.164,2015-08-22T13:16:18Z,431.80,CO,#6e3e36\n12,Frances,Parker,fparkerb@engadget.com,Female,226.237.57.25,2015-10-18T01:50:15Z,188.21,BR,#73e909\n13,Sharon,Lawson,slawsonc@bravesites.com,Female,198.189.134.106,2016-01-14T17:51:09Z,206.73,VN,\n14,Elizabeth,Wells,ewellsd@redcross.org,Female,120.108.59.206,2015-09-02T21:53:07Z,499.48,CZ,#e9c943\n15,Norma,Wilson,nwilsone@google.com.br,Female,18.246.76.220,2015-09-27T02:10:48Z,-65.19,SE,#645119\n16,Joan,Watkins,jwatkinsf@yolasite.com,Female,240.27.33.114,2016-03-31T00:29:14Z,264.23,PH,\n17,Gerald,Hamilton,ghamiltong@fc2.com,Male,182.75.62.95,2016-02-10T14:29:35Z,309.26,ID,\n18,Paula,Taylor,ptaylorh@wikispaces.com,Female,245.74.203.0,2016-05-11T03:15:10Z,927.45,CN,\n19,Carolyn,Burns,cburnsi@marketwatch.com,Female,180.243.11.10,2016-02-28T18:49:23Z,752.76,NL,\n20,Robin,Bennett,rbennettj@cdc.gov,Female,169.77.92.179,2016-02-15T01:06:44Z,143.30,ID,#506128"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/FileModeFieldFieldsMatch.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 20\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/FileModeFieldFieldsMatch.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1988\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 20\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/SchemaHasMoreFields.data",
    "content": "id,first_name,last_name,email,gender,ip_address,last_login,account_balance,country\n1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT\n2,John,Kim,jkim1@miibeian.gov.cn,Male,53.19.132.185,2015-11-14T10:34:09Z,251.24,CZ\n3,Ashley,Austin,aaustin2@hatena.ne.jp,Female,21.164.37.9,,819.47,CN\n4,Jonathan,Mcdonald,jmcdonald3@amazon.co.uk,Male,188.172.42.140,2015-12-28T14:37:01Z,868.38,ID\n5,Helen,Lane,hlane4@trellian.com,Female,159.171.138.190,2016-06-30T18:41:18Z,398.97,TN\n6,Scott,Lopez,slopez5@google.co.jp,Male,86.194.226.35,2015-08-13T02:13:51Z,322.99,BR\n7,Christine,Franklin,cfranklin6@reuters.com,Female,248.173.207.64,2015-12-22T11:29:57Z,301.26,PH\n8,Helen,Andrews,handrews7@histats.com,Female,83.160.63.181,2016-03-06T11:41:10Z,217.96,CU\n9,Stephanie,Gordon,sgordon8@goodreads.com,Female,193.143.42.212,2015-10-27T22:07:24Z,495.80,CN\n10,Shirley,Andrews,sandrews9@flickr.com,Female,99.113.183.206,2015-11-07T11:12:52Z,157.75,BR\n11,Joshua,Reid,jreida@wikia.com,Male,197.96.118.164,2015-08-22T13:16:18Z,431.80,CO\n12,Frances,Parker,fparkerb@engadget.com,Female,226.237.57.25,2015-10-18T01:50:15Z,188.21,BR\n13,Sharon,Lawson,slawsonc@bravesites.com,Female,198.189.134.106,2016-01-14T17:51:09Z,206.73,VN\n14,Elizabeth,Wells,ewellsd@redcross.org,Female,120.108.59.206,2015-09-02T21:53:07Z,499.48,CZ\n15,Norma,Wilson,nwilsone@google.com.br,Female,18.246.76.220,2015-09-27T02:10:48Z,-65.19,SE\n16,Joan,Watkins,jwatkinsf@yolasite.com,Female,240.27.33.114,2016-03-31T00:29:14Z,264.23,PH\n17,Gerald,Hamilton,ghamiltong@fc2.com,Male,182.75.62.95,2016-02-10T14:29:35Z,309.26,ID\n18,Paula,Taylor,ptaylorh@wikispaces.com,Female,245.74.203.0,2016-05-11T03:15:10Z,927.45,CN\n19,Carolyn,Burns,cburnsi@marketwatch.com,Female,180.243.11.10,2016-02-28T18:49:23Z,752.76,NL\n20,Robin,Bennett,rbennettj@cdc.gov,Female,169.77.92.179,2016-02-15T01:06:44Z,143.30,ID"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/SchemaHasMoreFields.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 20\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SchemaHasMoreFields.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1863\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 20\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/SourceOffset.data",
    "content": "id,first_name,last_name,email,gender,ip_address,last_login,account_balance,country,favorite_color\n1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT,#4a2313\n2,John,Kim,jkim1@miibeian.gov.cn,Male,53.19.132.185,2015-11-14T10:34:09Z,251.24,CZ,#3e56cf\n3,Ashley,Austin,aaustin2@hatena.ne.jp,Female,21.164.37.9,,819.47,CN,\n4,Jonathan,Mcdonald,jmcdonald3@amazon.co.uk,Male,188.172.42.140,2015-12-28T14:37:01Z,868.38,ID,#1b1414\n5,Helen,Lane,hlane4@trellian.com,Female,159.171.138.190,2016-06-30T18:41:18Z,398.97,TN,\n6,Scott,Lopez,slopez5@google.co.jp,Male,86.194.226.35,2015-08-13T02:13:51Z,322.99,BR,\n7,Christine,Franklin,cfranklin6@reuters.com,Female,248.173.207.64,2015-12-22T11:29:57Z,301.26,PH,#1d5e9d\n8,Helen,Andrews,handrews7@histats.com,Female,83.160.63.181,2016-03-06T11:41:10Z,217.96,CU,\n9,Stephanie,Gordon,sgordon8@goodreads.com,Female,193.143.42.212,2015-10-27T22:07:24Z,495.80,CN,\n10,Shirley,Andrews,sandrews9@flickr.com,Female,99.113.183.206,2015-11-07T11:12:52Z,157.75,BR,#fc1da9\n11,Joshua,Reid,jreida@wikia.com,Male,197.96.118.164,2015-08-22T13:16:18Z,431.80,CO,#6e3e36\n12,Frances,Parker,fparkerb@engadget.com,Female,226.237.57.25,2015-10-18T01:50:15Z,188.21,BR,#73e909\n13,Sharon,Lawson,slawsonc@bravesites.com,Female,198.189.134.106,2016-01-14T17:51:09Z,206.73,VN,\n14,Elizabeth,Wells,ewellsd@redcross.org,Female,120.108.59.206,2015-09-02T21:53:07Z,499.48,CZ,#e9c943\n15,Norma,Wilson,nwilsone@google.com.br,Female,18.246.76.220,2015-09-27T02:10:48Z,-65.19,SE,#645119\n16,Joan,Watkins,jwatkinsf@yolasite.com,Female,240.27.33.114,2016-03-31T00:29:14Z,264.23,PH,\n17,Gerald,Hamilton,ghamiltong@fc2.com,Male,182.75.62.95,2016-02-10T14:29:35Z,309.26,ID,\n18,Paula,Taylor,ptaylorh@wikispaces.com,Female,245.74.203.0,2016-05-11T03:15:10Z,927.45,CN,\n19,Carolyn,Burns,cburnsi@marketwatch.com,Female,180.243.11.10,2016-02-28T18:49:23Z,752.76,NL,\n20,Robin,Bennett,rbennettj@cdc.gov,Female,169.77.92.179,2016-02-15T01:06:44Z,143.30,ID,#506128"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/SourceOffset.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : {\n    \"offset\" : 10\n  },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 20\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/SourceOffset.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1968\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 20\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/WithHeaderSkipLines.data",
    "content": "#skip this line\nid,first_name,last_name,email,gender,ip_address,last_login,account_balance,country,favorite_color\n1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT,#4a2313\n2,John,Kim,jkim1@miibeian.gov.cn,Male,53.19.132.185,2015-11-14T10:34:09Z,251.24,CZ,#3e56cf\n3,Ashley,Austin,aaustin2@hatena.ne.jp,Female,21.164.37.9,,819.47,CN,\n4,Jonathan,Mcdonald,jmcdonald3@amazon.co.uk,Male,188.172.42.140,2015-12-28T14:37:01Z,868.38,ID,#1b1414\n5,Helen,Lane,hlane4@trellian.com,Female,159.171.138.190,2016-06-30T18:41:18Z,398.97,TN,\n6,Scott,Lopez,slopez5@google.co.jp,Male,86.194.226.35,2015-08-13T02:13:51Z,322.99,BR,\n7,Christine,Franklin,cfranklin6@reuters.com,Female,248.173.207.64,2015-12-22T11:29:57Z,301.26,PH,#1d5e9d\n8,Helen,Andrews,handrews7@histats.com,Female,83.160.63.181,2016-03-06T11:41:10Z,217.96,CU,\n9,Stephanie,Gordon,sgordon8@goodreads.com,Female,193.143.42.212,2015-10-27T22:07:24Z,495.80,CN,\n10,Shirley,Andrews,sandrews9@flickr.com,Female,99.113.183.206,2015-11-07T11:12:52Z,157.75,BR,#fc1da9\n11,Joshua,Reid,jreida@wikia.com,Male,197.96.118.164,2015-08-22T13:16:18Z,431.80,CO,#6e3e36\n12,Frances,Parker,fparkerb@engadget.com,Female,226.237.57.25,2015-10-18T01:50:15Z,188.21,BR,#73e909\n13,Sharon,Lawson,slawsonc@bravesites.com,Female,198.189.134.106,2016-01-14T17:51:09Z,206.73,VN,\n14,Elizabeth,Wells,ewellsd@redcross.org,Female,120.108.59.206,2015-09-02T21:53:07Z,499.48,CZ,#e9c943\n15,Norma,Wilson,nwilsone@google.com.br,Female,18.246.76.220,2015-09-27T02:10:48Z,-65.19,SE,#645119\n16,Joan,Watkins,jwatkinsf@yolasite.com,Female,240.27.33.114,2016-03-31T00:29:14Z,264.23,PH,\n17,Gerald,Hamilton,ghamiltong@fc2.com,Male,182.75.62.95,2016-02-10T14:29:35Z,309.26,ID,\n18,Paula,Taylor,ptaylorh@wikispaces.com,Female,245.74.203.0,2016-05-11T03:15:10Z,927.45,CN,\n19,Carolyn,Burns,cburnsi@marketwatch.com,Female,180.243.11.10,2016-02-28T18:49:23Z,752.76,NL,\n20,Robin,Bennett,rbennettj@cdc.gov,Female,169.77.92.179,2016-02-15T01:06:44Z,143.30,ID,#506128"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/WithHeaderSkipLines.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\",\n    \"csv.skip.lines\": \"1\",\n    \"schema.generation.enabled\": \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithHeaderSkipLines.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 20\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithHeaderSkipLines.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 20\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/WithoutHeader.data",
    "content": "1,Jack,Garcia,jgarcia0@shop-pro.jp,Male,196.56.44.185,2015-09-30T15:29:03Z,347.77,IT,#4a2313\n2,John,Kim,jkim1@miibeian.gov.cn,Male,53.19.132.185,2015-11-14T10:34:09Z,251.24,CZ,#3e56cf\n3,Ashley,Austin,aaustin2@hatena.ne.jp,Female,21.164.37.9,,819.47,CN,\n4,Jonathan,Mcdonald,jmcdonald3@amazon.co.uk,Male,188.172.42.140,2015-12-28T14:37:01Z,868.38,ID,#1b1414\n5,Helen,Lane,hlane4@trellian.com,Female,159.171.138.190,2016-06-30T18:41:18Z,398.97,TN,\n6,Scott,Lopez,slopez5@google.co.jp,Male,86.194.226.35,2015-08-13T02:13:51Z,322.99,BR,\n7,Christine,Franklin,cfranklin6@reuters.com,Female,248.173.207.64,2015-12-22T11:29:57Z,301.26,PH,#1d5e9d\n8,Helen,Andrews,handrews7@histats.com,Female,83.160.63.181,2016-03-06T11:41:10Z,217.96,CU,\n9,Stephanie,Gordon,sgordon8@goodreads.com,Female,193.143.42.212,2015-10-27T22:07:24Z,495.80,CN,\n10,Shirley,Andrews,sandrews9@flickr.com,Female,99.113.183.206,2015-11-07T11:12:52Z,157.75,BR,#fc1da9\n11,Joshua,Reid,jreida@wikia.com,Male,197.96.118.164,2015-08-22T13:16:18Z,431.80,CO,#6e3e36\n12,Frances,Parker,fparkerb@engadget.com,Female,226.237.57.25,2015-10-18T01:50:15Z,188.21,BR,#73e909\n13,Sharon,Lawson,slawsonc@bravesites.com,Female,198.189.134.106,2016-01-14T17:51:09Z,206.73,VN,\n14,Elizabeth,Wells,ewellsd@redcross.org,Female,120.108.59.206,2015-09-02T21:53:07Z,499.48,CZ,#e9c943\n15,Norma,Wilson,nwilsone@google.com.br,Female,18.246.76.220,2015-09-27T02:10:48Z,-65.19,SE,#645119\n16,Joan,Watkins,jwatkinsf@yolasite.com,Female,240.27.33.114,2016-03-31T00:29:14Z,264.23,PH,\n17,Gerald,Hamilton,ghamiltong@fc2.com,Male,182.75.62.95,2016-02-10T14:29:35Z,309.26,ID,\n18,Paula,Taylor,ptaylorh@wikispaces.com,Female,245.74.203.0,2016-05-11T03:15:10Z,927.45,CN,\n19,Carolyn,Burns,cburnsi@marketwatch.com,Female,180.243.11.10,2016-02-28T18:49:23Z,752.76,NL,\n20,Robin,Bennett,rbennettj@cdc.gov,Female,169.77.92.179,2016-02-15T01:06:44Z,143.30,ID,#506128"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/csv/WithoutHeader.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"false\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"WithoutHeader.csv\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 20\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925244697-0/input/WithoutHeader.csv\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1870\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 20\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925244000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/elf/SpoolDirELFSourceConnector/example.json",
    "content": "{\n  \"name\": \"Standard\",\n  \"description\": \"This example will read Extended Log Format files and write them to Kafka.\",\n  \"config\": {\n    \"finished.path\": \"/tmp\",\n    \"input.path\": \"/tmp\",\n    \"error.path\": \"/tmp\",\n    \"input.file.pattern\": \"^server\\\\d+\\\\.log\",\n    \"topic\": \"users\"\n  }\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/elf/elf/FieldsMatch.data",
    "content": "#Software: xyz 1.2.3.4\n#Version: 1.0\n#Start-Date: 2019-10-23 22:00:00\n#Date: 2019-10-23 22:00:00\n#Fields: date time time-taken ip1 user gp id1 res cat1 status act method ct scheme host port ext ua ip2 bytes1 bytes2 id2 err1 err2 err3 str cr cat2\n#Remark: 1234567890 \"xyz\" \"1.2.3.4\" \"type\"\n2019-10-23    21:00:00    1234    1.2.3.4    xyz    abc    -    OK    \"cat\"    0    zyx    unk    -    pro    site    123    -    -    1.2.3.4    0    0    -    none    -    -    none    -    \"cat\"\n2019-10-23    21:00:00    123    1.2.3.4    xyz    abc    -    OK    \"dog\"    0    zyx    unk    -    pro    site    123    -    -    1.2.3.4    0    0    -    none    -    -    none    -    \"dog\""
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/elf/elf/FieldsMatch.json",
    "content": "{\n  \"settings\" : {\n  },\n  \"offset\" : { },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.elf\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 0\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.github.jcustenborder.kafka.connect.spooldir.LogEntry\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"date\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Date\",\n          \"type\" : \"INT32\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"date\"\n          },\n          \"isOptional\" : true\n        },\n        \"time\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Time\",\n          \"type\" : \"INT32\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"time\"\n          },\n          \"isOptional\" : true\n        },\n        \"time_taken\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"logField\" : \"time-taken\"\n          },\n          \"isOptional\" : true\n        },\n        \"ip1\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ip1\"\n          },\n          \"isOptional\" : true\n        },\n        \"user\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"user\"\n          },\n          \"isOptional\" : true\n        },\n        \"gp\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"gp\"\n          },\n          \"isOptional\" : true\n        },\n        \"id1\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"id1\"\n          },\n          \"isOptional\" : true\n        },\n        \"res\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"res\"\n          },\n          \"isOptional\" : true\n        },\n        \"cat1\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cat1\"\n          },\n          \"isOptional\" : true\n        },\n        \"status\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"status\"\n          },\n          \"isOptional\" : true\n        },\n        \"act\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"act\"\n          },\n          \"isOptional\" : true\n        },\n        \"method\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"method\"\n          },\n          \"isOptional\" : true\n        },\n        \"ct\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ct\"\n          },\n          \"isOptional\" : true\n        },\n        \"scheme\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"scheme\"\n          },\n          \"isOptional\" : true\n        },\n        \"host\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"host\"\n          },\n          \"isOptional\" : true\n        },\n        \"port\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"port\"\n          },\n          \"isOptional\" : true\n        },\n        \"ext\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ext\"\n          },\n          \"isOptional\" : true\n        },\n        \"ua\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ua\"\n          },\n          \"isOptional\" : true\n        },\n        \"ip2\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ip2\"\n          },\n          \"isOptional\" : true\n        },\n        \"bytes1\" : {\n          \"type\" : \"INT64\",\n          \"parameters\" : {\n            \"logField\" : \"bytes1\"\n          },\n          \"isOptional\" : true\n        },\n        \"bytes2\" : {\n          \"type\" : \"INT64\",\n          \"parameters\" : {\n            \"logField\" : \"bytes2\"\n          },\n          \"isOptional\" : true\n        },\n        \"id2\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"id2\"\n          },\n          \"isOptional\" : true\n        },\n        \"err1\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err1\"\n          },\n          \"isOptional\" : true\n        },\n        \"err2\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err2\"\n          },\n          \"isOptional\" : true\n        },\n        \"err3\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err3\"\n          },\n          \"isOptional\" : true\n        },\n        \"str\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"str\"\n          },\n          \"isOptional\" : true\n        },\n        \"cr\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cr\"\n          },\n          \"isOptional\" : true\n        },\n        \"cat2\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cat2\"\n          },\n          \"isOptional\" : true\n        },\n        \"datetime\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"date,time\"\n          },\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.github.jcustenborder.kafka.connect.spooldir.LogEntry\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"date\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Date\",\n            \"type\" : \"INT32\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"logField\" : \"date\"\n            },\n            \"isOptional\" : true\n          },\n          \"time\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Time\",\n            \"type\" : \"INT32\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"logField\" : \"time\"\n            },\n            \"isOptional\" : true\n          },\n          \"time_taken\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"logField\" : \"time-taken\"\n            },\n            \"isOptional\" : true\n          },\n          \"ip1\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ip1\"\n            },\n            \"isOptional\" : true\n          },\n          \"user\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"user\"\n            },\n            \"isOptional\" : true\n          },\n          \"gp\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"gp\"\n            },\n            \"isOptional\" : true\n          },\n          \"id1\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"id1\"\n            },\n            \"isOptional\" : true\n          },\n          \"res\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"res\"\n            },\n            \"isOptional\" : true\n          },\n          \"cat1\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"cat1\"\n            },\n            \"isOptional\" : true\n          },\n          \"status\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"status\"\n            },\n            \"isOptional\" : true\n          },\n          \"act\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"act\"\n            },\n            \"isOptional\" : true\n          },\n          \"method\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"method\"\n            },\n            \"isOptional\" : true\n          },\n          \"ct\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ct\"\n            },\n            \"isOptional\" : true\n          },\n          \"scheme\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"scheme\"\n            },\n            \"isOptional\" : true\n          },\n          \"host\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"host\"\n            },\n            \"isOptional\" : true\n          },\n          \"port\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"port\"\n            },\n            \"isOptional\" : true\n          },\n          \"ext\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ext\"\n            },\n            \"isOptional\" : true\n          },\n          \"ua\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ua\"\n            },\n            \"isOptional\" : true\n          },\n          \"ip2\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ip2\"\n            },\n            \"isOptional\" : true\n          },\n          \"bytes1\" : {\n            \"type\" : \"INT64\",\n            \"parameters\" : {\n              \"logField\" : \"bytes1\"\n            },\n            \"isOptional\" : true\n          },\n          \"bytes2\" : {\n            \"type\" : \"INT64\",\n            \"parameters\" : {\n              \"logField\" : \"bytes2\"\n            },\n            \"isOptional\" : true\n          },\n          \"id2\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"id2\"\n            },\n            \"isOptional\" : true\n          },\n          \"err1\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"err1\"\n            },\n            \"isOptional\" : true\n          },\n          \"err2\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"err2\"\n            },\n            \"isOptional\" : true\n          },\n          \"err3\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"err3\"\n            },\n            \"isOptional\" : true\n          },\n          \"str\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"str\"\n            },\n            \"isOptional\" : true\n          },\n          \"cr\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"cr\"\n            },\n            \"isOptional\" : true\n          },\n          \"cat2\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"cat2\"\n            },\n            \"isOptional\" : true\n          },\n          \"datetime\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"logField\" : \"date,time\"\n            },\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"date\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Date\",\n          \"type\" : \"INT32\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"date\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 18192\n      }, {\n        \"name\" : \"time\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Time\",\n          \"type\" : \"INT32\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"time\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 75600000\n      }, {\n        \"name\" : \"time_taken\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"logField\" : \"time-taken\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 1234.0\n      }, {\n        \"name\" : \"ip1\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ip1\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"1.2.3.4\"\n      }, {\n        \"name\" : \"user\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"user\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"xyz\"\n      }, {\n        \"name\" : \"gp\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"gp\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"abc\"\n      }, {\n        \"name\" : \"id1\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"id1\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"res\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"res\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"OK\"\n      }, {\n        \"name\" : \"cat1\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cat1\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cat\"\n      }, {\n        \"name\" : \"status\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"status\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"0\"\n      }, {\n        \"name\" : \"act\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"act\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"zyx\"\n      }, {\n        \"name\" : \"method\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"method\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"unk\"\n      }, {\n        \"name\" : \"ct\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ct\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"scheme\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"scheme\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"pro\"\n      }, {\n        \"name\" : \"host\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"host\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"site\"\n      }, {\n        \"name\" : \"port\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"port\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"123\"\n      }, {\n        \"name\" : \"ext\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ext\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ua\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ua\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ip2\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ip2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"1.2.3.4\"\n      }, {\n        \"name\" : \"bytes1\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"parameters\" : {\n            \"logField\" : \"bytes1\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 0\n      }, {\n        \"name\" : \"bytes2\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"parameters\" : {\n            \"logField\" : \"bytes2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 0\n      }, {\n        \"name\" : \"id2\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"id2\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"err1\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err1\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"none\"\n      }, {\n        \"name\" : \"err2\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err2\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"err3\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err3\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"str\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"str\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"none\"\n      }, {\n        \"name\" : \"cr\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cr\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"cat2\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cat2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cat\"\n      }, {\n        \"name\" : \"datetime\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"date,time\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 1571864400000\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.elf\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1572979596824-0/input/FieldsMatch.elf\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 683\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 0\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1572979597000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.elf\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"name\" : \"com.github.jcustenborder.kafka.connect.spooldir.LogEntry\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"date\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Date\",\n          \"type\" : \"INT32\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"date\"\n          },\n          \"isOptional\" : true\n        },\n        \"time\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Time\",\n          \"type\" : \"INT32\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"time\"\n          },\n          \"isOptional\" : true\n        },\n        \"time_taken\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"logField\" : \"time-taken\"\n          },\n          \"isOptional\" : true\n        },\n        \"ip1\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ip1\"\n          },\n          \"isOptional\" : true\n        },\n        \"user\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"user\"\n          },\n          \"isOptional\" : true\n        },\n        \"gp\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"gp\"\n          },\n          \"isOptional\" : true\n        },\n        \"id1\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"id1\"\n          },\n          \"isOptional\" : true\n        },\n        \"res\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"res\"\n          },\n          \"isOptional\" : true\n        },\n        \"cat1\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cat1\"\n          },\n          \"isOptional\" : true\n        },\n        \"status\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"status\"\n          },\n          \"isOptional\" : true\n        },\n        \"act\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"act\"\n          },\n          \"isOptional\" : true\n        },\n        \"method\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"method\"\n          },\n          \"isOptional\" : true\n        },\n        \"ct\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ct\"\n          },\n          \"isOptional\" : true\n        },\n        \"scheme\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"scheme\"\n          },\n          \"isOptional\" : true\n        },\n        \"host\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"host\"\n          },\n          \"isOptional\" : true\n        },\n        \"port\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"port\"\n          },\n          \"isOptional\" : true\n        },\n        \"ext\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ext\"\n          },\n          \"isOptional\" : true\n        },\n        \"ua\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ua\"\n          },\n          \"isOptional\" : true\n        },\n        \"ip2\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ip2\"\n          },\n          \"isOptional\" : true\n        },\n        \"bytes1\" : {\n          \"type\" : \"INT64\",\n          \"parameters\" : {\n            \"logField\" : \"bytes1\"\n          },\n          \"isOptional\" : true\n        },\n        \"bytes2\" : {\n          \"type\" : \"INT64\",\n          \"parameters\" : {\n            \"logField\" : \"bytes2\"\n          },\n          \"isOptional\" : true\n        },\n        \"id2\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"id2\"\n          },\n          \"isOptional\" : true\n        },\n        \"err1\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err1\"\n          },\n          \"isOptional\" : true\n        },\n        \"err2\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err2\"\n          },\n          \"isOptional\" : true\n        },\n        \"err3\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err3\"\n          },\n          \"isOptional\" : true\n        },\n        \"str\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"str\"\n          },\n          \"isOptional\" : true\n        },\n        \"cr\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cr\"\n          },\n          \"isOptional\" : true\n        },\n        \"cat2\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cat2\"\n          },\n          \"isOptional\" : true\n        },\n        \"datetime\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"date,time\"\n          },\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.github.jcustenborder.kafka.connect.spooldir.LogEntry\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"date\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Date\",\n            \"type\" : \"INT32\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"logField\" : \"date\"\n            },\n            \"isOptional\" : true\n          },\n          \"time\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Time\",\n            \"type\" : \"INT32\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"logField\" : \"time\"\n            },\n            \"isOptional\" : true\n          },\n          \"time_taken\" : {\n            \"type\" : \"FLOAT64\",\n            \"parameters\" : {\n              \"logField\" : \"time-taken\"\n            },\n            \"isOptional\" : true\n          },\n          \"ip1\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ip1\"\n            },\n            \"isOptional\" : true\n          },\n          \"user\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"user\"\n            },\n            \"isOptional\" : true\n          },\n          \"gp\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"gp\"\n            },\n            \"isOptional\" : true\n          },\n          \"id1\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"id1\"\n            },\n            \"isOptional\" : true\n          },\n          \"res\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"res\"\n            },\n            \"isOptional\" : true\n          },\n          \"cat1\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"cat1\"\n            },\n            \"isOptional\" : true\n          },\n          \"status\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"status\"\n            },\n            \"isOptional\" : true\n          },\n          \"act\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"act\"\n            },\n            \"isOptional\" : true\n          },\n          \"method\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"method\"\n            },\n            \"isOptional\" : true\n          },\n          \"ct\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ct\"\n            },\n            \"isOptional\" : true\n          },\n          \"scheme\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"scheme\"\n            },\n            \"isOptional\" : true\n          },\n          \"host\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"host\"\n            },\n            \"isOptional\" : true\n          },\n          \"port\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"port\"\n            },\n            \"isOptional\" : true\n          },\n          \"ext\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ext\"\n            },\n            \"isOptional\" : true\n          },\n          \"ua\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ua\"\n            },\n            \"isOptional\" : true\n          },\n          \"ip2\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"ip2\"\n            },\n            \"isOptional\" : true\n          },\n          \"bytes1\" : {\n            \"type\" : \"INT64\",\n            \"parameters\" : {\n              \"logField\" : \"bytes1\"\n            },\n            \"isOptional\" : true\n          },\n          \"bytes2\" : {\n            \"type\" : \"INT64\",\n            \"parameters\" : {\n              \"logField\" : \"bytes2\"\n            },\n            \"isOptional\" : true\n          },\n          \"id2\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"id2\"\n            },\n            \"isOptional\" : true\n          },\n          \"err1\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"err1\"\n            },\n            \"isOptional\" : true\n          },\n          \"err2\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"err2\"\n            },\n            \"isOptional\" : true\n          },\n          \"err3\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"err3\"\n            },\n            \"isOptional\" : true\n          },\n          \"str\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"str\"\n            },\n            \"isOptional\" : true\n          },\n          \"cr\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"cr\"\n            },\n            \"isOptional\" : true\n          },\n          \"cat2\" : {\n            \"type\" : \"STRING\",\n            \"parameters\" : {\n              \"logField\" : \"cat2\"\n            },\n            \"isOptional\" : true\n          },\n          \"datetime\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"logField\" : \"date,time\"\n            },\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"date\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Date\",\n          \"type\" : \"INT32\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"date\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 18192\n      }, {\n        \"name\" : \"time\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Time\",\n          \"type\" : \"INT32\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"time\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 75600000\n      }, {\n        \"name\" : \"time_taken\",\n        \"schema\" : {\n          \"type\" : \"FLOAT64\",\n          \"parameters\" : {\n            \"logField\" : \"time-taken\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 123.0\n      }, {\n        \"name\" : \"ip1\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ip1\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"1.2.3.4\"\n      }, {\n        \"name\" : \"user\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"user\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"xyz\"\n      }, {\n        \"name\" : \"gp\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"gp\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"abc\"\n      }, {\n        \"name\" : \"id1\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"id1\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"res\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"res\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"OK\"\n      }, {\n        \"name\" : \"cat1\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cat1\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"dog\"\n      }, {\n        \"name\" : \"status\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"status\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"0\"\n      }, {\n        \"name\" : \"act\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"act\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"zyx\"\n      }, {\n        \"name\" : \"method\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"method\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"unk\"\n      }, {\n        \"name\" : \"ct\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ct\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"scheme\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"scheme\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"pro\"\n      }, {\n        \"name\" : \"host\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"host\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"site\"\n      }, {\n        \"name\" : \"port\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"port\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"123\"\n      }, {\n        \"name\" : \"ext\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ext\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ua\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ua\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"ip2\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"ip2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"1.2.3.4\"\n      }, {\n        \"name\" : \"bytes1\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"parameters\" : {\n            \"logField\" : \"bytes1\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 0\n      }, {\n        \"name\" : \"bytes2\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"parameters\" : {\n            \"logField\" : \"bytes2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 0\n      }, {\n        \"name\" : \"id2\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"id2\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"err1\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err1\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"none\"\n      }, {\n        \"name\" : \"err2\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err2\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"err3\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"err3\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"str\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"str\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"none\"\n      }, {\n        \"name\" : \"cr\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cr\"\n          },\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"cat2\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"parameters\" : {\n            \"logField\" : \"cat2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : \"dog\"\n      }, {\n        \"name\" : \"datetime\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"logField\" : \"date,time\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 1571864400000\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.elf\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1572979596824-0/input/FieldsMatch.elf\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 683\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1572979597000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/DataHasMoreFields.data",
    "content": "{\n\"id\": 1,\n\"first_name\": \"Jack\",\n\"last_name\": \"Garcia\",\n\"email\": \"jgarcia0@shop-pro.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"196.56.44.185\",\n\"last_login\": \"2015-09-30T15:29:03Z\",\n\"account_balance\": 347.77,\n\"country\": \"IT\",\n\"favorite_color\": \"#4a2313\",\n\"column11\": \"asdsa\"\n}\n{\n\"id\": 2,\n\"first_name\": \"John\",\n\"last_name\": \"Kim\",\n\"email\": \"jkim1@miibeian.gov.cn\",\n\"gender\": \"Male\",\n\"ip_address\": \"53.19.132.185\",\n\"last_login\": \"2015-11-14T10:34:09Z\",\n\"account_balance\": 251.24,\n\"country\": \"CZ\",\n\"favorite_color\": \"#3e56cf\",\n\"column11\": \"asd\"\n}\n{\n\"id\": 3,\n\"first_name\": \"Ashley\",\n\"last_name\": \"Austin\",\n\"email\": \"aaustin2@hatena.ne.jp\",\n\"gender\": \"Female\",\n\"ip_address\": \"21.164.37.9\",\n\n\"account_balance\": 819.47,\n\"country\": \"CN\",\n\n\"column11\": \"f\"\n}\n{\n\"id\": 4,\n\"first_name\": \"Jonathan\",\n\"last_name\": \"Mcdonald\",\n\"email\": \"jmcdonald3@amazon.co.uk\",\n\"gender\": \"Male\",\n\"ip_address\": \"188.172.42.140\",\n\"last_login\": \"2015-12-28T14:37:01Z\",\n\"account_balance\": 868.38,\n\"country\": \"ID\",\n\"favorite_color\": \"#1b1414\",\n\"column11\": \"as\"\n}\n{\n\"id\": 5,\n\"first_name\": \"Helen\",\n\"last_name\": \"Lane\",\n\"email\": \"hlane4@trellian.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"159.171.138.190\",\n\"last_login\": \"2016-06-30T18:41:18Z\",\n\"account_balance\": 398.97,\n\"country\": \"TN\",\n\n\"column11\": \"g\"\n}\n{\n\"id\": 6,\n\"first_name\": \"Scott\",\n\"last_name\": \"Lopez\",\n\"email\": \"slopez5@google.co.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"86.194.226.35\",\n\"last_login\": \"2015-08-13T02:13:51Z\",\n\"account_balance\": 322.99,\n\"country\": \"BR\",\n\n\"column11\": \"g\"\n}\n{\n\"id\": 7,\n\"first_name\": \"Christine\",\n\"last_name\": \"Franklin\",\n\"email\": \"cfranklin6@reuters.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"248.173.207.64\",\n\"last_login\": \"2015-12-22T11:29:57Z\",\n\"account_balance\": 301.26,\n\"country\": \"PH\",\n\"favorite_color\": \"#1d5e9d\",\n\"column11\": \"h\"\n}\n{\n\"id\": 8,\n\"first_name\": \"Helen\",\n\"last_name\": \"Andrews\",\n\"email\": \"handrews7@histats.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"83.160.63.181\",\n\"last_login\": \"2016-03-06T11:41:10Z\",\n\"account_balance\": 217.96,\n\"country\": \"CU\",\n\n\"column11\": \"j\"\n}\n{\n\"id\": 9,\n\"first_name\": \"Stephanie\",\n\"last_name\": \"Gordon\",\n\"email\": \"sgordon8@goodreads.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"193.143.42.212\",\n\"last_login\": \"2015-10-27T22:07:24Z\",\n\"account_balance\": 495.8,\n\"country\": \"CN\",\n\n\"column11\": \"f\"\n}\n{\n\"id\": 10,\n\"first_name\": \"Shirley\",\n\"last_name\": \"Andrews\",\n\"email\": \"sandrews9@flickr.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"99.113.183.206\",\n\"last_login\": \"2015-11-07T11:12:52Z\",\n\"account_balance\": 157.75,\n\"country\": \"BR\",\n\"favorite_color\": \"#fc1da9\",\n\"column11\": \"s\"\n}\n{\n\"id\": 11,\n\"first_name\": \"Joshua\",\n\"last_name\": \"Reid\",\n\"email\": \"jreida@wikia.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"197.96.118.164\",\n\"last_login\": \"2015-08-22T13:16:18Z\",\n\"account_balance\": 431.8,\n\"country\": \"CO\",\n\"favorite_color\": \"#6e3e36\",\n\"column11\": \"dfg\"\n}\n{\n\"id\": 12,\n\"first_name\": \"Frances\",\n\"last_name\": \"Parker\",\n\"email\": \"fparkerb@engadget.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"226.237.57.25\",\n\"last_login\": \"2015-10-18T01:50:15Z\",\n\"account_balance\": 188.21,\n\"country\": \"BR\",\n\"favorite_color\": \"#73e909\",\n\"column11\": \"hg\"\n}\n{\n\"id\": 13,\n\"first_name\": \"Sharon\",\n\"last_name\": \"Lawson\",\n\"email\": \"slawsonc@bravesites.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"198.189.134.106\",\n\"last_login\": \"2016-01-14T17:51:09Z\",\n\"account_balance\": 206.73,\n\"country\": \"VN\",\n\n\"column11\": \"s\"\n}\n{\n\"id\": 14,\n\"first_name\": \"Elizabeth\",\n\"last_name\": \"Wells\",\n\"email\": \"ewellsd@redcross.org\",\n\"gender\": \"Female\",\n\"ip_address\": \"120.108.59.206\",\n\"last_login\": \"2015-09-02T21:53:07Z\",\n\"account_balance\": 499.48,\n\"country\": \"CZ\",\n\"favorite_color\": \"#e9c943\",\n\"column11\": \"fgs\"\n}\n{\n\"id\": 15,\n\"first_name\": \"Norma\",\n\"last_name\": \"Wilson\",\n\"email\": \"nwilsone@google.com.br\",\n\"gender\": \"Female\",\n\"ip_address\": \"18.246.76.220\",\n\"last_login\": \"2015-09-27T02:10:48Z\",\n\"account_balance\": -65.19,\n\"country\": \"SE\",\n\"favorite_color\": \"#645119\",\n\"column11\": \"sdfgs\"\n}\n{\n\"id\": 16,\n\"first_name\": \"Joan\",\n\"last_name\": \"Watkins\",\n\"email\": \"jwatkinsf@yolasite.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"240.27.33.114\",\n\"last_login\": \"2016-03-31T00:29:14Z\",\n\"account_balance\": 264.23,\n\"country\": \"PH\",\n\n\"column11\": \"sdfg\"\n}\n{\n\"id\": 17,\n\"first_name\": \"Gerald\",\n\"last_name\": \"Hamilton\",\n\"email\": \"ghamiltong@fc2.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"182.75.62.95\",\n\"last_login\": \"2016-02-10T14:29:35Z\",\n\"account_balance\": 309.26,\n\"country\": \"ID\",\n\n\"column11\": \"sdfg\"\n}\n{\n\"id\": 18,\n\"first_name\": \"Paula\",\n\"last_name\": \"Taylor\",\n\"email\": \"ptaylorh@wikispaces.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"245.74.203.0\",\n\"last_login\": \"2016-05-11T03:15:10Z\",\n\"account_balance\": 927.45,\n\"country\": \"CN\",\n\n\"column11\": \"sdfg\"\n}\n{\n\"id\": 19,\n\"first_name\": \"Carolyn\",\n\"last_name\": \"Burns\",\n\"email\": \"cburnsi@marketwatch.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"180.243.11.10\",\n\"last_login\": \"2016-02-28T18:49:23Z\",\n\"account_balance\": 752.76,\n\"country\": \"NL\",\n\n\"column11\": \"dsf\"\n}\n{\n\"id\": 20,\n\"first_name\": \"Robin\",\n\"last_name\": \"Bennett\",\n\"email\": \"rbennettj@cdc.gov\",\n\"gender\": \"Female\",\n\"ip_address\": \"169.77.92.179\",\n\"last_login\": \"2016-02-15T01:06:44Z\",\n\"account_balance\": 143.3,\n\"country\": \"ID\",\n\"favorite_color\": \"#506128\",\n\"column11\": \"sdfgsdf\"\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/DataHasMoreFields.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 0\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 0\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/DataHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/FieldsMatch.data",
    "content": "{\n\"id\": 1,\n\"first_name\": \"Jack\",\n\"last_name\": \"Garcia\",\n\"email\": \"jgarcia0@shop-pro.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"196.56.44.185\",\n\"last_login\": \"2015-09-30T15:29:03Z\",\n\"account_balance\": 347.77,\n\"country\": \"IT\",\n\"favorite_color\": \"#4a2313\"\n}\n{\n\"id\": 2,\n\"first_name\": \"John\",\n\"last_name\": \"Kim\",\n\"email\": \"jkim1@miibeian.gov.cn\",\n\"gender\": \"Male\",\n\"ip_address\": \"53.19.132.185\",\n\"last_login\": \"2015-11-14T10:34:09Z\",\n\"account_balance\": 251.24,\n\"country\": \"CZ\",\n\"favorite_color\": \"#3e56cf\"\n}\n{\n\"id\": 3,\n\"first_name\": \"Ashley\",\n\"last_name\": \"Austin\",\n\"email\": \"aaustin2@hatena.ne.jp\",\n\"gender\": \"Female\",\n\"ip_address\": \"21.164.37.9\",\n\n\"account_balance\": 819.47,\n\"country\": \"CN\"\n}\n{\n\"id\": 4,\n\"first_name\": \"Jonathan\",\n\"last_name\": \"Mcdonald\",\n\"email\": \"jmcdonald3@amazon.co.uk\",\n\"gender\": \"Male\",\n\"ip_address\": \"188.172.42.140\",\n\"last_login\": \"2015-12-28T14:37:01Z\",\n\"account_balance\": 868.38,\n\"country\": \"ID\",\n\"favorite_color\": \"#1b1414\"\n}\n{\n\"id\": 5,\n\"first_name\": \"Helen\",\n\"last_name\": \"Lane\",\n\"email\": \"hlane4@trellian.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"159.171.138.190\",\n\"last_login\": \"2016-06-30T18:41:18Z\",\n\"account_balance\": 398.97,\n\"country\": \"TN\"\n}\n{\n\"id\": 6,\n\"first_name\": \"Scott\",\n\"last_name\": \"Lopez\",\n\"email\": \"slopez5@google.co.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"86.194.226.35\",\n\"last_login\": \"2015-08-13T02:13:51Z\",\n\"account_balance\": 322.99,\n\"country\": \"BR\"\n}\n{\n\"id\": 7,\n\"first_name\": \"Christine\",\n\"last_name\": \"Franklin\",\n\"email\": \"cfranklin6@reuters.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"248.173.207.64\",\n\"last_login\": \"2015-12-22T11:29:57Z\",\n\"account_balance\": 301.26,\n\"country\": \"PH\",\n\"favorite_color\": \"#1d5e9d\"\n}\n{\n\"id\": 8,\n\"first_name\": \"Helen\",\n\"last_name\": \"Andrews\",\n\"email\": \"handrews7@histats.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"83.160.63.181\",\n\"last_login\": \"2016-03-06T11:41:10Z\",\n\"account_balance\": 217.96,\n\"country\": \"CU\"\n}\n{\n\"id\": 9,\n\"first_name\": \"Stephanie\",\n\"last_name\": \"Gordon\",\n\"email\": \"sgordon8@goodreads.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"193.143.42.212\",\n\"last_login\": \"2015-10-27T22:07:24Z\",\n\"account_balance\": 495.8,\n\"country\": \"CN\"\n}\n{\n\"id\": 10,\n\"first_name\": \"Shirley\",\n\"last_name\": \"Andrews\",\n\"email\": \"sandrews9@flickr.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"99.113.183.206\",\n\"last_login\": \"2015-11-07T11:12:52Z\",\n\"account_balance\": 157.75,\n\"country\": \"BR\",\n\"favorite_color\": \"#fc1da9\"\n}\n{\n\"id\": 11,\n\"first_name\": \"Joshua\",\n\"last_name\": \"Reid\",\n\"email\": \"jreida@wikia.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"197.96.118.164\",\n\"last_login\": \"2015-08-22T13:16:18Z\",\n\"account_balance\": 431.8,\n\"country\": \"CO\",\n\"favorite_color\": \"#6e3e36\"\n}\n{\n\"id\": 12,\n\"first_name\": \"Frances\",\n\"last_name\": \"Parker\",\n\"email\": \"fparkerb@engadget.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"226.237.57.25\",\n\"last_login\": \"2015-10-18T01:50:15Z\",\n\"account_balance\": 188.21,\n\"country\": \"BR\",\n\"favorite_color\": \"#73e909\"\n}\n{\n\"id\": 13,\n\"first_name\": \"Sharon\",\n\"last_name\": \"Lawson\",\n\"email\": \"slawsonc@bravesites.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"198.189.134.106\",\n\"last_login\": \"2016-01-14T17:51:09Z\",\n\"account_balance\": 206.73,\n\"country\": \"VN\"\n}\n{\n\"id\": 14,\n\"first_name\": \"Elizabeth\",\n\"last_name\": \"Wells\",\n\"email\": \"ewellsd@redcross.org\",\n\"gender\": \"Female\",\n\"ip_address\": \"120.108.59.206\",\n\"last_login\": \"2015-09-02T21:53:07Z\",\n\"account_balance\": 499.48,\n\"country\": \"CZ\",\n\"favorite_color\": \"#e9c943\"\n}\n{\n\"id\": 15,\n\"first_name\": \"Norma\",\n\"last_name\": \"Wilson\",\n\"email\": \"nwilsone@google.com.br\",\n\"gender\": \"Female\",\n\"ip_address\": \"18.246.76.220\",\n\"last_login\": \"2015-09-27T02:10:48Z\",\n\"account_balance\": -65.19,\n\"country\": \"SE\",\n\"favorite_color\": \"#645119\"\n}\n{\n\"id\": 16,\n\"first_name\": \"Joan\",\n\"last_name\": \"Watkins\",\n\"email\": \"jwatkinsf@yolasite.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"240.27.33.114\",\n\"last_login\": \"2016-03-31T00:29:14Z\",\n\"account_balance\": 264.23,\n\"country\": \"PH\"\n}\n{\n\"id\": 17,\n\"first_name\": \"Gerald\",\n\"last_name\": \"Hamilton\",\n\"email\": \"ghamiltong@fc2.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"182.75.62.95\",\n\"last_login\": \"2016-02-10T14:29:35Z\",\n\"account_balance\": 309.26,\n\"country\": \"ID\"\n}\n{\n\"id\": 18,\n\"first_name\": \"Paula\",\n\"last_name\": \"Taylor\",\n\"email\": \"ptaylorh@wikispaces.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"245.74.203.0\",\n\"last_login\": \"2016-05-11T03:15:10Z\",\n\"account_balance\": 927.45,\n\"country\": \"CN\"\n}\n{\n\"id\": 19,\n\"first_name\": \"Carolyn\",\n\"last_name\": \"Burns\",\n\"email\": \"cburnsi@marketwatch.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"180.243.11.10\",\n\"last_login\": \"2016-02-28T18:49:23Z\",\n\"account_balance\": 752.76,\n\"country\": \"NL\"\n}\n{\n\"id\": 20,\n\"first_name\": \"Robin\",\n\"last_name\": \"Bennett\",\n\"email\": \"rbennettj@cdc.gov\",\n\"gender\": \"Female\",\n\"ip_address\": \"169.77.92.179\",\n\"last_login\": \"2016-02-15T01:06:44Z\",\n\"account_balance\": 143.3,\n\"country\": \"ID\",\n\"favorite_color\": \"#506128\"\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/FieldsMatch.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 0\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 0\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/FileModeFieldFieldsMatch.data",
    "content": "{\n\"id\": 1,\n\"first_name\": \"Jack\",\n\"last_name\": \"Garcia\",\n\"email\": \"jgarcia0@shop-pro.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"196.56.44.185\",\n\"last_login\": \"2015-09-30T15:29:03Z\",\n\"account_balance\": 347.77,\n\"country\": \"IT\",\n\"favorite_color\": \"#4a2313\"\n}\n{\n\"id\": 2,\n\"first_name\": \"John\",\n\"last_name\": \"Kim\",\n\"email\": \"jkim1@miibeian.gov.cn\",\n\"gender\": \"Male\",\n\"ip_address\": \"53.19.132.185\",\n\"last_login\": \"2015-11-14T10:34:09Z\",\n\"account_balance\": 251.24,\n\"country\": \"CZ\",\n\"favorite_color\": \"#3e56cf\"\n}\n{\n\"id\": 3,\n\"first_name\": \"Ashley\",\n\"last_name\": \"Austin\",\n\"email\": \"aaustin2@hatena.ne.jp\",\n\"gender\": \"Female\",\n\"ip_address\": \"21.164.37.9\",\n\"last_login\": \"2015-09-30T15:29:03Z\",\n\"account_balance\": 819.47,\n\"country\": \"CN\"\n}\n{\n\"id\": 4,\n\"first_name\": \"Jonathan\",\n\"last_name\": \"Mcdonald\",\n\"email\": \"jmcdonald3@amazon.co.uk\",\n\"gender\": \"Male\",\n\"ip_address\": \"188.172.42.140\",\n\"last_login\": \"2015-12-28T14:37:01Z\",\n\"account_balance\": 868.38,\n\"country\": \"ID\",\n\"favorite_color\": \"#1b1414\"\n}\n{\n\"id\": 5,\n\"first_name\": \"Helen\",\n\"last_name\": \"Lane\",\n\"email\": \"hlane4@trellian.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"159.171.138.190\",\n\"last_login\": \"2016-06-30T18:41:18Z\",\n\"account_balance\": 398.97,\n\"country\": \"TN\"\n}\n{\n\"id\": 6,\n\"first_name\": \"Scott\",\n\"last_name\": \"Lopez\",\n\"email\": \"slopez5@google.co.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"86.194.226.35\",\n\"last_login\": \"2015-08-13T02:13:51Z\",\n\"account_balance\": 322.99,\n\"country\": \"BR\"\n}\n{\n\"id\": 7,\n\"first_name\": \"Christine\",\n\"last_name\": \"Franklin\",\n\"email\": \"cfranklin6@reuters.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"248.173.207.64\",\n\"last_login\": \"2015-12-22T11:29:57Z\",\n\"account_balance\": 301.26,\n\"country\": \"PH\",\n\"favorite_color\": \"#1d5e9d\"\n}\n{\n\"id\": 8,\n\"first_name\": \"Helen\",\n\"last_name\": \"Andrews\",\n\"email\": \"handrews7@histats.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"83.160.63.181\",\n\"last_login\": \"2016-03-06T11:41:10Z\",\n\"account_balance\": 217.96,\n\"country\": \"CU\"\n}\n{\n\"id\": 9,\n\"first_name\": \"Stephanie\",\n\"last_name\": \"Gordon\",\n\"email\": \"sgordon8@goodreads.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"193.143.42.212\",\n\"last_login\": \"2015-10-27T22:07:24Z\",\n\"account_balance\": 495.8,\n\"country\": \"CN\"\n}\n{\n\"id\": 10,\n\"first_name\": \"Shirley\",\n\"last_name\": \"Andrews\",\n\"email\": \"sandrews9@flickr.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"99.113.183.206\",\n\"last_login\": \"2015-11-07T11:12:52Z\",\n\"account_balance\": 157.75,\n\"country\": \"BR\",\n\"favorite_color\": \"#fc1da9\"\n}\n{\n\"id\": 11,\n\"first_name\": \"Joshua\",\n\"last_name\": \"Reid\",\n\"email\": \"jreida@wikia.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"197.96.118.164\",\n\"last_login\": \"2015-08-22T13:16:18Z\",\n\"account_balance\": 431.8,\n\"country\": \"CO\",\n\"favorite_color\": \"#6e3e36\"\n}\n{\n\"id\": 12,\n\"first_name\": \"Frances\",\n\"last_name\": \"Parker\",\n\"email\": \"fparkerb@engadget.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"226.237.57.25\",\n\"last_login\": \"2015-10-18T01:50:15Z\",\n\"account_balance\": 188.21,\n\"country\": \"BR\",\n\"favorite_color\": \"#73e909\"\n}\n{\n\"id\": 13,\n\"first_name\": \"Sharon\",\n\"last_name\": \"Lawson\",\n\"email\": \"slawsonc@bravesites.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"198.189.134.106\",\n\"last_login\": \"2016-01-14T17:51:09Z\",\n\"account_balance\": 206.73,\n\"country\": \"VN\"\n}\n{\n\"id\": 14,\n\"first_name\": \"Elizabeth\",\n\"last_name\": \"Wells\",\n\"email\": \"ewellsd@redcross.org\",\n\"gender\": \"Female\",\n\"ip_address\": \"120.108.59.206\",\n\"last_login\": \"2015-09-02T21:53:07Z\",\n\"account_balance\": 499.48,\n\"country\": \"CZ\",\n\"favorite_color\": \"#e9c943\"\n}\n{\n\"id\": 15,\n\"first_name\": \"Norma\",\n\"last_name\": \"Wilson\",\n\"email\": \"nwilsone@google.com.br\",\n\"gender\": \"Female\",\n\"ip_address\": \"18.246.76.220\",\n\"last_login\": \"2015-09-27T02:10:48Z\",\n\"account_balance\": -65.19,\n\"country\": \"SE\",\n\"favorite_color\": \"#645119\"\n}\n{\n\"id\": 16,\n\"first_name\": \"Joan\",\n\"last_name\": \"Watkins\",\n\"email\": \"jwatkinsf@yolasite.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"240.27.33.114\",\n\"last_login\": \"2016-03-31T00:29:14Z\",\n\"account_balance\": 264.23,\n\"country\": \"PH\"\n}\n{\n\"id\": 17,\n\"first_name\": \"Gerald\",\n\"last_name\": \"Hamilton\",\n\"email\": \"ghamiltong@fc2.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"182.75.62.95\",\n\"last_login\": \"2016-02-10T14:29:35Z\",\n\"account_balance\": 309.26,\n\"country\": \"ID\"\n}\n{\n\"id\": 18,\n\"first_name\": \"Paula\",\n\"last_name\": \"Taylor\",\n\"email\": \"ptaylorh@wikispaces.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"245.74.203.0\",\n\"last_login\": \"2016-05-11T03:15:10Z\",\n\"account_balance\": 927.45,\n\"country\": \"CN\"\n}\n{\n\"id\": 19,\n\"first_name\": \"Carolyn\",\n\"last_name\": \"Burns\",\n\"email\": \"cburnsi@marketwatch.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"180.243.11.10\",\n\"last_login\": \"2016-02-28T18:49:23Z\",\n\"account_balance\": 752.76,\n\"country\": \"NL\"\n}\n{\n\"id\": 20,\n\"first_name\": \"Robin\",\n\"last_name\": \"Bennett\",\n\"email\": \"rbennettj@cdc.gov\",\n\"gender\": \"Female\",\n\"ip_address\": \"169.77.92.179\",\n\"last_login\": \"2016-02-15T01:06:44Z\",\n\"account_balance\": 143.3,\n\"country\": \"ID\",\n\"favorite_color\": \"#506128\"\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/FileModeFieldFieldsMatch.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 0\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#4a2313\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 0\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#3e56cf\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1b1414\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#1d5e9d\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#fc1da9\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"FileModeFieldFieldsMatch.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : false\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : false\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/FileModeFieldFieldsMatch.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4807\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/SchemaHasMoreFields.data",
    "content": "{\n\"id\": 1,\n\"first_name\": \"Jack\",\n\"last_name\": \"Garcia\",\n\"email\": \"jgarcia0@shop-pro.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"196.56.44.185\",\n\"last_login\": \"2015-09-30T15:29:03Z\",\n\"account_balance\": 347.77,\n\"country\": \"IT\"\n}\n{\n\"id\": 2,\n\"first_name\": \"John\",\n\"last_name\": \"Kim\",\n\"email\": \"jkim1@miibeian.gov.cn\",\n\"gender\": \"Male\",\n\"ip_address\": \"53.19.132.185\",\n\"last_login\": \"2015-11-14T10:34:09Z\",\n\"account_balance\": 251.24,\n\"country\": \"CZ\"\n}\n{\n\"id\": 3,\n\"first_name\": \"Ashley\",\n\"last_name\": \"Austin\",\n\"email\": \"aaustin2@hatena.ne.jp\",\n\"gender\": \"Female\",\n\"ip_address\": \"21.164.37.9\",\n\"account_balance\": 819.47,\n\"country\": \"CN\"\n}\n{\n\"id\": 4,\n\"first_name\": \"Jonathan\",\n\"last_name\": \"Mcdonald\",\n\"email\": \"jmcdonald3@amazon.co.uk\",\n\"gender\": \"Male\",\n\"ip_address\": \"188.172.42.140\",\n\"last_login\": \"2015-12-28T14:37:01Z\",\n\"account_balance\": 868.38,\n\"country\": \"ID\"\n}\n{\n\"id\": 5,\n\"first_name\": \"Helen\",\n\"last_name\": \"Lane\",\n\"email\": \"hlane4@trellian.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"159.171.138.190\",\n\"last_login\": \"2016-06-30T18:41:18Z\",\n\"account_balance\": 398.97,\n\"country\": \"TN\"\n}\n{\n\"id\": 6,\n\"first_name\": \"Scott\",\n\"last_name\": \"Lopez\",\n\"email\": \"slopez5@google.co.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"86.194.226.35\",\n\"last_login\": \"2015-08-13T02:13:51Z\",\n\"account_balance\": 322.99,\n\"country\": \"BR\"\n}\n{\n\"id\": 7,\n\"first_name\": \"Christine\",\n\"last_name\": \"Franklin\",\n\"email\": \"cfranklin6@reuters.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"248.173.207.64\",\n\"last_login\": \"2015-12-22T11:29:57Z\",\n\"account_balance\": 301.26,\n\"country\": \"PH\"\n}\n{\n\"id\": 8,\n\"first_name\": \"Helen\",\n\"last_name\": \"Andrews\",\n\"email\": \"handrews7@histats.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"83.160.63.181\",\n\"last_login\": \"2016-03-06T11:41:10Z\",\n\"account_balance\": 217.96,\n\"country\": \"CU\"\n}\n{\n\"id\": 9,\n\"first_name\": \"Stephanie\",\n\"last_name\": \"Gordon\",\n\"email\": \"sgordon8@goodreads.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"193.143.42.212\",\n\"last_login\": \"2015-10-27T22:07:24Z\",\n\"account_balance\": 495.8,\n\"country\": \"CN\"\n}\n{\n\"id\": 10,\n\"first_name\": \"Shirley\",\n\"last_name\": \"Andrews\",\n\"email\": \"sandrews9@flickr.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"99.113.183.206\",\n\"last_login\": \"2015-11-07T11:12:52Z\",\n\"account_balance\": 157.75,\n\"country\": \"BR\"\n}\n{\n\"id\": 11,\n\"first_name\": \"Joshua\",\n\"last_name\": \"Reid\",\n\"email\": \"jreida@wikia.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"197.96.118.164\",\n\"last_login\": \"2015-08-22T13:16:18Z\",\n\"account_balance\": 431.8,\n\"country\": \"CO\"\n}\n{\n\"id\": 12,\n\"first_name\": \"Frances\",\n\"last_name\": \"Parker\",\n\"email\": \"fparkerb@engadget.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"226.237.57.25\",\n\"last_login\": \"2015-10-18T01:50:15Z\",\n\"account_balance\": 188.21,\n\"country\": \"BR\"\n}\n{\n\"id\": 13,\n\"first_name\": \"Sharon\",\n\"last_name\": \"Lawson\",\n\"email\": \"slawsonc@bravesites.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"198.189.134.106\",\n\"last_login\": \"2016-01-14T17:51:09Z\",\n\"account_balance\": 206.73,\n\"country\": \"VN\"\n}\n{\n\"id\": 14,\n\"first_name\": \"Elizabeth\",\n\"last_name\": \"Wells\",\n\"email\": \"ewellsd@redcross.org\",\n\"gender\": \"Female\",\n\"ip_address\": \"120.108.59.206\",\n\"last_login\": \"2015-09-02T21:53:07Z\",\n\"account_balance\": 499.48,\n\"country\": \"CZ\"\n}\n{\n\"id\": 15,\n\"first_name\": \"Norma\",\n\"last_name\": \"Wilson\",\n\"email\": \"nwilsone@google.com.br\",\n\"gender\": \"Female\",\n\"ip_address\": \"18.246.76.220\",\n\"last_login\": \"2015-09-27T02:10:48Z\",\n\"account_balance\": -65.19,\n\"country\": \"SE\"\n}\n{\n\"id\": 16,\n\"first_name\": \"Joan\",\n\"last_name\": \"Watkins\",\n\"email\": \"jwatkinsf@yolasite.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"240.27.33.114\",\n\"last_login\": \"2016-03-31T00:29:14Z\",\n\"account_balance\": 264.23,\n\"country\": \"PH\"\n}\n{\n\"id\": 17,\n\"first_name\": \"Gerald\",\n\"last_name\": \"Hamilton\",\n\"email\": \"ghamiltong@fc2.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"182.75.62.95\",\n\"last_login\": \"2016-02-10T14:29:35Z\",\n\"account_balance\": 309.26,\n\"country\": \"ID\"\n}\n{\n\"id\": 18,\n\"first_name\": \"Paula\",\n\"last_name\": \"Taylor\",\n\"email\": \"ptaylorh@wikispaces.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"245.74.203.0\",\n\"last_login\": \"2016-05-11T03:15:10Z\",\n\"account_balance\": 927.45,\n\"country\": \"CN\"\n}\n{\n\"id\": 19,\n\"first_name\": \"Carolyn\",\n\"last_name\": \"Burns\",\n\"email\": \"cburnsi@marketwatch.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"180.243.11.10\",\n\"last_login\": \"2016-02-28T18:49:23Z\",\n\"account_balance\": 752.76,\n\"country\": \"NL\"\n}\n{\n\"id\": 20,\n\"first_name\": \"Robin\",\n\"last_name\": \"Bennett\",\n\"email\": \"rbennettj@cdc.gov\",\n\"gender\": \"Female\",\n\"ip_address\": \"169.77.92.179\",\n\"last_login\": \"2016-02-15T01:06:44Z\",\n\"account_balance\": 143.3,\n\"country\": \"ID\"\n}\n"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/SchemaHasMoreFields.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : { },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 0\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 1\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jack\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Garcia\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jgarcia0@shop-pro.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"196.56.44.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443626943000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 347.77\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"IT\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 0\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 2\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"John\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Kim\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jkim1@miibeian.gov.cn\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"53.19.132.185\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1447497249000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 251.24\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 3\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Ashley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Austin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"aaustin2@hatena.ne.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"21.164.37.9\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        }\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 819.47\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 4\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Jonathan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Mcdonald\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jmcdonald3@amazon.co.uk\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"188.172.42.140\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1451313421000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 868.38\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 5\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lane\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"hlane4@trellian.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"159.171.138.190\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1467312078000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 398.97\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"TN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 6\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Scott\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lopez\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slopez5@google.co.jp\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"86.194.226.35\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1439432031000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 322.99\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 7\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Christine\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Franklin\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cfranklin6@reuters.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"248.173.207.64\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1450783797000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 301.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 8\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Helen\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"handrews7@histats.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"83.160.63.181\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1457264470000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 217.96\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CU\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 9\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Stephanie\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gordon\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sgordon8@goodreads.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"193.143.42.212\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445983644000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 495.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 10\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Shirley\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Andrews\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"sandrews9@flickr.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"99.113.183.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1446894772000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 157.75\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SchemaHasMoreFields.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SchemaHasMoreFields.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4480\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/SourceOffset.data",
    "content": "{\n\"id\": 1,\n\"first_name\": \"Jack\",\n\"last_name\": \"Garcia\",\n\"email\": \"jgarcia0@shop-pro.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"196.56.44.185\",\n\"last_login\": \"2015-09-30T15:29:03Z\",\n\"account_balance\": 347.77,\n\"country\": \"IT\",\n\"favorite_color\": \"#4a2313\"\n}\n{\n\"id\": 2,\n\"first_name\": \"John\",\n\"last_name\": \"Kim\",\n\"email\": \"jkim1@miibeian.gov.cn\",\n\"gender\": \"Male\",\n\"ip_address\": \"53.19.132.185\",\n\"last_login\": \"2015-11-14T10:34:09Z\",\n\"account_balance\": 251.24,\n\"country\": \"CZ\",\n\"favorite_color\": \"#3e56cf\"\n}\n{\n\"id\": 3,\n\"first_name\": \"Ashley\",\n\"last_name\": \"Austin\",\n\"email\": \"aaustin2@hatena.ne.jp\",\n\"gender\": \"Female\",\n\"ip_address\": \"21.164.37.9\",\n\n\"account_balance\": 819.47,\n\"country\": \"CN\"\n}\n{\n\"id\": 4,\n\"first_name\": \"Jonathan\",\n\"last_name\": \"Mcdonald\",\n\"email\": \"jmcdonald3@amazon.co.uk\",\n\"gender\": \"Male\",\n\"ip_address\": \"188.172.42.140\",\n\"last_login\": \"2015-12-28T14:37:01Z\",\n\"account_balance\": 868.38,\n\"country\": \"ID\",\n\"favorite_color\": \"#1b1414\"\n}\n{\n\"id\": 5,\n\"first_name\": \"Helen\",\n\"last_name\": \"Lane\",\n\"email\": \"hlane4@trellian.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"159.171.138.190\",\n\"last_login\": \"2016-06-30T18:41:18Z\",\n\"account_balance\": 398.97,\n\"country\": \"TN\"\n}\n{\n\"id\": 6,\n\"first_name\": \"Scott\",\n\"last_name\": \"Lopez\",\n\"email\": \"slopez5@google.co.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"86.194.226.35\",\n\"last_login\": \"2015-08-13T02:13:51Z\",\n\"account_balance\": 322.99,\n\"country\": \"BR\"\n}\n{\n\"id\": 7,\n\"first_name\": \"Christine\",\n\"last_name\": \"Franklin\",\n\"email\": \"cfranklin6@reuters.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"248.173.207.64\",\n\"last_login\": \"2015-12-22T11:29:57Z\",\n\"account_balance\": 301.26,\n\"country\": \"PH\",\n\"favorite_color\": \"#1d5e9d\"\n}\n{\n\"id\": 8,\n\"first_name\": \"Helen\",\n\"last_name\": \"Andrews\",\n\"email\": \"handrews7@histats.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"83.160.63.181\",\n\"last_login\": \"2016-03-06T11:41:10Z\",\n\"account_balance\": 217.96,\n\"country\": \"CU\"\n}\n{\n\"id\": 9,\n\"first_name\": \"Stephanie\",\n\"last_name\": \"Gordon\",\n\"email\": \"sgordon8@goodreads.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"193.143.42.212\",\n\"last_login\": \"2015-10-27T22:07:24Z\",\n\"account_balance\": 495.8,\n\"country\": \"CN\"\n}\n{\n\"id\": 10,\n\"first_name\": \"Shirley\",\n\"last_name\": \"Andrews\",\n\"email\": \"sandrews9@flickr.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"99.113.183.206\",\n\"last_login\": \"2015-11-07T11:12:52Z\",\n\"account_balance\": 157.75,\n\"country\": \"BR\",\n\"favorite_color\": \"#fc1da9\"\n}\n{\n\"id\": 11,\n\"first_name\": \"Joshua\",\n\"last_name\": \"Reid\",\n\"email\": \"jreida@wikia.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"197.96.118.164\",\n\"last_login\": \"2015-08-22T13:16:18Z\",\n\"account_balance\": 431.8,\n\"country\": \"CO\",\n\"favorite_color\": \"#6e3e36\"\n}\n{\n\"id\": 12,\n\"first_name\": \"Frances\",\n\"last_name\": \"Parker\",\n\"email\": \"fparkerb@engadget.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"226.237.57.25\",\n\"last_login\": \"2015-10-18T01:50:15Z\",\n\"account_balance\": 188.21,\n\"country\": \"BR\",\n\"favorite_color\": \"#73e909\"\n}\n{\n\"id\": 13,\n\"first_name\": \"Sharon\",\n\"last_name\": \"Lawson\",\n\"email\": \"slawsonc@bravesites.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"198.189.134.106\",\n\"last_login\": \"2016-01-14T17:51:09Z\",\n\"account_balance\": 206.73,\n\"country\": \"VN\"\n}\n{\n\"id\": 14,\n\"first_name\": \"Elizabeth\",\n\"last_name\": \"Wells\",\n\"email\": \"ewellsd@redcross.org\",\n\"gender\": \"Female\",\n\"ip_address\": \"120.108.59.206\",\n\"last_login\": \"2015-09-02T21:53:07Z\",\n\"account_balance\": 499.48,\n\"country\": \"CZ\",\n\"favorite_color\": \"#e9c943\"\n}\n{\n\"id\": 15,\n\"first_name\": \"Norma\",\n\"last_name\": \"Wilson\",\n\"email\": \"nwilsone@google.com.br\",\n\"gender\": \"Female\",\n\"ip_address\": \"18.246.76.220\",\n\"last_login\": \"2015-09-27T02:10:48Z\",\n\"account_balance\": -65.19,\n\"country\": \"SE\",\n\"favorite_color\": \"#645119\"\n}\n{\n\"id\": 16,\n\"first_name\": \"Joan\",\n\"last_name\": \"Watkins\",\n\"email\": \"jwatkinsf@yolasite.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"240.27.33.114\",\n\"last_login\": \"2016-03-31T00:29:14Z\",\n\"account_balance\": 264.23,\n\"country\": \"PH\"\n}\n{\n\"id\": 17,\n\"first_name\": \"Gerald\",\n\"last_name\": \"Hamilton\",\n\"email\": \"ghamiltong@fc2.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"182.75.62.95\",\n\"last_login\": \"2016-02-10T14:29:35Z\",\n\"account_balance\": 309.26,\n\"country\": \"ID\"\n}\n{\n\"id\": 18,\n\"first_name\": \"Paula\",\n\"last_name\": \"Taylor\",\n\"email\": \"ptaylorh@wikispaces.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"245.74.203.0\",\n\"last_login\": \"2016-05-11T03:15:10Z\",\n\"account_balance\": 927.45,\n\"country\": \"CN\"\n}\n{\n\"id\": 19,\n\"first_name\": \"Carolyn\",\n\"last_name\": \"Burns\",\n\"email\": \"cburnsi@marketwatch.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"180.243.11.10\",\n\"last_login\": \"2016-02-28T18:49:23Z\",\n\"account_balance\": 752.76,\n\"country\": \"NL\"\n}\n{\n\"id\": 20,\n\"first_name\": \"Robin\",\n\"last_name\": \"Bennett\",\n\"email\": \"rbennettj@cdc.gov\",\n\"gender\": \"Female\",\n\"ip_address\": \"169.77.92.179\",\n\"last_login\": \"2016-02-15T01:06:44Z\",\n\"account_balance\": 143.3,\n\"country\": \"ID\",\n\"favorite_color\": \"#506128\"\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/json/SourceOffset.json",
    "content": "{\n  \"settings\" : {\n    \"csv.first.row.as.header\" : \"true\"\n  },\n  \"offset\" : {\n    \"offset\" : 10\n  },\n  \"keySchema\" : {\n    \"name\" : \"com.example.users.UserKey\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      }\n    }\n  },\n  \"valueSchema\" : {\n    \"name\" : \"com.example.users.User\",\n    \"type\" : \"STRUCT\",\n    \"isOptional\" : false,\n    \"fieldSchemas\" : {\n      \"id\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"first_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_name\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"email\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"gender\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"ip_address\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"last_login\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : true\n      },\n      \"account_balance\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n        \"type\" : \"BYTES\",\n        \"version\" : 1,\n        \"parameters\" : {\n          \"scale\" : \"2\"\n        },\n        \"isOptional\" : true\n      },\n      \"country\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      },\n      \"favorite_color\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : true\n      }\n    }\n  },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 11\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joshua\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Reid\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jreida@wikia.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"197.96.118.164\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1440249378000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 431.80\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CO\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#6e3e36\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 12\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Frances\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Parker\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"fparkerb@engadget.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"226.237.57.25\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1445133015000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 188.21\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"BR\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#73e909\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 13\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Sharon\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Lawson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"slawsonc@bravesites.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"198.189.134.106\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1452793869000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 206.73\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"VN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 14\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Elizabeth\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wells\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ewellsd@redcross.org\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"120.108.59.206\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1441230787000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 499.48\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CZ\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#e9c943\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 15\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Norma\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Wilson\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"nwilsone@google.com.br\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"18.246.76.220\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1443319848000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : -65.19\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"SE\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#645119\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 16\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Joan\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Watkins\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"jwatkinsf@yolasite.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"240.27.33.114\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1459384154000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 264.23\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"PH\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 17\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Gerald\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Hamilton\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ghamiltong@fc2.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Male\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"182.75.62.95\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455114575000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 309.26\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 18\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Paula\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Taylor\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ptaylorh@wikispaces.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"245.74.203.0\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1462936510000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 927.45\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"CN\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 19\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Carolyn\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Burns\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"cburnsi@marketwatch.com\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"180.243.11.10\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1456685363000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 752.76\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"NL\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"SourceOffset.json\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"keySchema\" : {\n      \"name\" : \"com.example.users.UserKey\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        }\n      }\n    },\n    \"key\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.UserKey\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      } ]\n    },\n    \"valueSchema\" : {\n      \"name\" : \"com.example.users.User\",\n      \"type\" : \"STRUCT\",\n      \"isOptional\" : false,\n      \"fieldSchemas\" : {\n        \"id\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"first_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_name\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"email\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"gender\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"ip_address\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"last_login\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"account_balance\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"country\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"favorite_color\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        }\n      }\n    },\n    \"value\" : {\n      \"schema\" : {\n        \"name\" : \"com.example.users.User\",\n        \"type\" : \"STRUCT\",\n        \"isOptional\" : false,\n        \"fieldSchemas\" : {\n          \"id\" : {\n            \"type\" : \"INT64\",\n            \"isOptional\" : false\n          },\n          \"first_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_name\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"email\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"gender\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"ip_address\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"last_login\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n            \"type\" : \"INT64\",\n            \"version\" : 1,\n            \"isOptional\" : true\n          },\n          \"account_balance\" : {\n            \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n            \"type\" : \"BYTES\",\n            \"version\" : 1,\n            \"parameters\" : {\n              \"scale\" : \"2\"\n            },\n            \"isOptional\" : true\n          },\n          \"country\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          },\n          \"favorite_color\" : {\n            \"type\" : \"STRING\",\n            \"isOptional\" : true\n          }\n        }\n      },\n      \"fieldValues\" : [ {\n        \"name\" : \"id\",\n        \"schema\" : {\n          \"type\" : \"INT64\",\n          \"isOptional\" : false\n        },\n        \"storage\" : 20\n      }, {\n        \"name\" : \"first_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Robin\"\n      }, {\n        \"name\" : \"last_name\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Bennett\"\n      }, {\n        \"name\" : \"email\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"rbennettj@cdc.gov\"\n      }, {\n        \"name\" : \"gender\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"Female\"\n      }, {\n        \"name\" : \"ip_address\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"169.77.92.179\"\n      }, {\n        \"name\" : \"last_login\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n          \"type\" : \"INT64\",\n          \"version\" : 1,\n          \"isOptional\" : true\n        },\n        \"storage\" : 1455498404000\n      }, {\n        \"name\" : \"account_balance\",\n        \"schema\" : {\n          \"name\" : \"org.apache.kafka.connect.data.Decimal\",\n          \"type\" : \"BYTES\",\n          \"version\" : 1,\n          \"parameters\" : {\n            \"scale\" : \"2\"\n          },\n          \"isOptional\" : true\n        },\n        \"storage\" : 143.30\n      }, {\n        \"name\" : \"country\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"ID\"\n      }, {\n        \"name\" : \"favorite_color\",\n        \"schema\" : {\n          \"type\" : \"STRING\",\n          \"isOptional\" : true\n        },\n        \"storage\" : \"#506128\"\n      } ]\n    },\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"SourceOffset.json\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925242635-0/input/SourceOffset.json\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4770\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925242000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/schemalessjson/DataHasMoreFields.data",
    "content": "{\n\"id\": 1,\n\"first_name\": \"Jack\",\n\"last_name\": \"Garcia\",\n\"email\": \"jgarcia0@shop-pro.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"196.56.44.185\",\n\"last_login\": \"2015-09-30T15:29:03Z\",\n\"account_balance\": 347.77,\n\"country\": \"IT\",\n\"favorite_color\": \"#4a2313\",\n\"column11\": \"asdsa\"\n}\n{\n\"id\": 2,\n\"first_name\": \"John\",\n\"last_name\": \"Kim\",\n\"email\": \"jkim1@miibeian.gov.cn\",\n\"gender\": \"Male\",\n\"ip_address\": \"53.19.132.185\",\n\"last_login\": \"2015-11-14T10:34:09Z\",\n\"account_balance\": 251.24,\n\"country\": \"CZ\",\n\"favorite_color\": \"#3e56cf\",\n\"column11\": \"asd\"\n}\n{\n\"id\": 3,\n\"first_name\": \"Ashley\",\n\"last_name\": \"Austin\",\n\"email\": \"aaustin2@hatena.ne.jp\",\n\"gender\": \"Female\",\n\"ip_address\": \"21.164.37.9\",\n\n\"account_balance\": 819.47,\n\"country\": \"CN\",\n\n\"column11\": \"f\"\n}\n{\n\"id\": 4,\n\"first_name\": \"Jonathan\",\n\"last_name\": \"Mcdonald\",\n\"email\": \"jmcdonald3@amazon.co.uk\",\n\"gender\": \"Male\",\n\"ip_address\": \"188.172.42.140\",\n\"last_login\": \"2015-12-28T14:37:01Z\",\n\"account_balance\": 868.38,\n\"country\": \"ID\",\n\"favorite_color\": \"#1b1414\",\n\"column11\": \"as\"\n}\n{\n\"id\": 5,\n\"first_name\": \"Helen\",\n\"last_name\": \"Lane\",\n\"email\": \"hlane4@trellian.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"159.171.138.190\",\n\"last_login\": \"2016-06-30T18:41:18Z\",\n\"account_balance\": 398.97,\n\"country\": \"TN\",\n\n\"column11\": \"g\"\n}\n{\n\"id\": 6,\n\"first_name\": \"Scott\",\n\"last_name\": \"Lopez\",\n\"email\": \"slopez5@google.co.jp\",\n\"gender\": \"Male\",\n\"ip_address\": \"86.194.226.35\",\n\"last_login\": \"2015-08-13T02:13:51Z\",\n\"account_balance\": 322.99,\n\"country\": \"BR\",\n\n\"column11\": \"g\"\n}\n{\n\"id\": 7,\n\"first_name\": \"Christine\",\n\"last_name\": \"Franklin\",\n\"email\": \"cfranklin6@reuters.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"248.173.207.64\",\n\"last_login\": \"2015-12-22T11:29:57Z\",\n\"account_balance\": 301.26,\n\"country\": \"PH\",\n\"favorite_color\": \"#1d5e9d\",\n\"column11\": \"h\"\n}\n{\n\"id\": 8,\n\"first_name\": \"Helen\",\n\"last_name\": \"Andrews\",\n\"email\": \"handrews7@histats.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"83.160.63.181\",\n\"last_login\": \"2016-03-06T11:41:10Z\",\n\"account_balance\": 217.96,\n\"country\": \"CU\",\n\n\"column11\": \"j\"\n}\n{\n\"id\": 9,\n\"first_name\": \"Stephanie\",\n\"last_name\": \"Gordon\",\n\"email\": \"sgordon8@goodreads.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"193.143.42.212\",\n\"last_login\": \"2015-10-27T22:07:24Z\",\n\"account_balance\": 495.8,\n\"country\": \"CN\",\n\n\"column11\": \"f\"\n}\n{\n\"id\": 10,\n\"first_name\": \"Shirley\",\n\"last_name\": \"Andrews\",\n\"email\": \"sandrews9@flickr.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"99.113.183.206\",\n\"last_login\": \"2015-11-07T11:12:52Z\",\n\"account_balance\": 157.75,\n\"country\": \"BR\",\n\"favorite_color\": \"#fc1da9\",\n\"column11\": \"s\"\n}\n{\n\"id\": 11,\n\"first_name\": \"Joshua\",\n\"last_name\": \"Reid\",\n\"email\": \"jreida@wikia.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"197.96.118.164\",\n\"last_login\": \"2015-08-22T13:16:18Z\",\n\"account_balance\": 431.8,\n\"country\": \"CO\",\n\"favorite_color\": \"#6e3e36\",\n\"column11\": \"dfg\"\n}\n{\n\"id\": 12,\n\"first_name\": \"Frances\",\n\"last_name\": \"Parker\",\n\"email\": \"fparkerb@engadget.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"226.237.57.25\",\n\"last_login\": \"2015-10-18T01:50:15Z\",\n\"account_balance\": 188.21,\n\"country\": \"BR\",\n\"favorite_color\": \"#73e909\",\n\"column11\": \"hg\"\n}\n{\n\"id\": 13,\n\"first_name\": \"Sharon\",\n\"last_name\": \"Lawson\",\n\"email\": \"slawsonc@bravesites.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"198.189.134.106\",\n\"last_login\": \"2016-01-14T17:51:09Z\",\n\"account_balance\": 206.73,\n\"country\": \"VN\",\n\n\"column11\": \"s\"\n}\n{\n\"id\": 14,\n\"first_name\": \"Elizabeth\",\n\"last_name\": \"Wells\",\n\"email\": \"ewellsd@redcross.org\",\n\"gender\": \"Female\",\n\"ip_address\": \"120.108.59.206\",\n\"last_login\": \"2015-09-02T21:53:07Z\",\n\"account_balance\": 499.48,\n\"country\": \"CZ\",\n\"favorite_color\": \"#e9c943\",\n\"column11\": \"fgs\"\n}\n{\n\"id\": 15,\n\"first_name\": \"Norma\",\n\"last_name\": \"Wilson\",\n\"email\": \"nwilsone@google.com.br\",\n\"gender\": \"Female\",\n\"ip_address\": \"18.246.76.220\",\n\"last_login\": \"2015-09-27T02:10:48Z\",\n\"account_balance\": -65.19,\n\"country\": \"SE\",\n\"favorite_color\": \"#645119\",\n\"column11\": \"sdfgs\"\n}\n{\n\"id\": 16,\n\"first_name\": \"Joan\",\n\"last_name\": \"Watkins\",\n\"email\": \"jwatkinsf@yolasite.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"240.27.33.114\",\n\"last_login\": \"2016-03-31T00:29:14Z\",\n\"account_balance\": 264.23,\n\"country\": \"PH\",\n\n\"column11\": \"sdfg\"\n}\n{\n\"id\": 17,\n\"first_name\": \"Gerald\",\n\"last_name\": \"Hamilton\",\n\"email\": \"ghamiltong@fc2.com\",\n\"gender\": \"Male\",\n\"ip_address\": \"182.75.62.95\",\n\"last_login\": \"2016-02-10T14:29:35Z\",\n\"account_balance\": 309.26,\n\"country\": \"ID\",\n\n\"column11\": \"sdfg\"\n}\n{\n\"id\": 18,\n\"first_name\": \"Paula\",\n\"last_name\": \"Taylor\",\n\"email\": \"ptaylorh@wikispaces.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"245.74.203.0\",\n\"last_login\": \"2016-05-11T03:15:10Z\",\n\"account_balance\": 927.45,\n\"country\": \"CN\",\n\n\"column11\": \"sdfg\"\n}\n{\n\"id\": 19,\n\"first_name\": \"Carolyn\",\n\"last_name\": \"Burns\",\n\"email\": \"cburnsi@marketwatch.com\",\n\"gender\": \"Female\",\n\"ip_address\": \"180.243.11.10\",\n\"last_login\": \"2016-02-28T18:49:23Z\",\n\"account_balance\": 752.76,\n\"country\": \"NL\",\n\n\"column11\": \"dsf\"\n}\n{\n\"id\": 20,\n\"first_name\": \"Robin\",\n\"last_name\": \"Bennett\",\n\"email\": \"rbennettj@cdc.gov\",\n\"gender\": \"Female\",\n\"ip_address\": \"169.77.92.179\",\n\"last_login\": \"2016-02-15T01:06:44Z\",\n\"account_balance\": 143.3,\n\"country\": \"ID\",\n\"favorite_color\": \"#506128\",\n\"column11\": \"sdfgsdf\"\n}"
  },
  {
    "path": "src/test/resources/com/github/jcustenborder/kafka/connect/spooldir/schemalessjson/DataHasMoreFields.json",
    "content": "{\n  \"settings\" : { },\n  \"offset\" : { },\n  \"expected\" : [ {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 0\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 1,\\n  \\\"first_name\\\" : \\\"Jack\\\",\\n  \\\"last_name\\\" : \\\"Garcia\\\",\\n  \\\"email\\\" : \\\"jgarcia0@shop-pro.jp\\\",\\n  \\\"gender\\\" : \\\"Male\\\",\\n  \\\"ip_address\\\" : \\\"196.56.44.185\\\",\\n  \\\"last_login\\\" : \\\"2015-09-30T15:29:03Z\\\",\\n  \\\"account_balance\\\" : 347.77,\\n  \\\"country\\\" : \\\"IT\\\",\\n  \\\"favorite_color\\\" : \\\"#4a2313\\\",\\n  \\\"column11\\\" : \\\"asdsa\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 0\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 1\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 2,\\n  \\\"first_name\\\" : \\\"John\\\",\\n  \\\"last_name\\\" : \\\"Kim\\\",\\n  \\\"email\\\" : \\\"jkim1@miibeian.gov.cn\\\",\\n  \\\"gender\\\" : \\\"Male\\\",\\n  \\\"ip_address\\\" : \\\"53.19.132.185\\\",\\n  \\\"last_login\\\" : \\\"2015-11-14T10:34:09Z\\\",\\n  \\\"account_balance\\\" : 251.24,\\n  \\\"country\\\" : \\\"CZ\\\",\\n  \\\"favorite_color\\\" : \\\"#3e56cf\\\",\\n  \\\"column11\\\" : \\\"asd\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 1\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 2\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 3,\\n  \\\"first_name\\\" : \\\"Ashley\\\",\\n  \\\"last_name\\\" : \\\"Austin\\\",\\n  \\\"email\\\" : \\\"aaustin2@hatena.ne.jp\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"21.164.37.9\\\",\\n  \\\"account_balance\\\" : 819.47,\\n  \\\"country\\\" : \\\"CN\\\",\\n  \\\"column11\\\" : \\\"f\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 2\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 3\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 4,\\n  \\\"first_name\\\" : \\\"Jonathan\\\",\\n  \\\"last_name\\\" : \\\"Mcdonald\\\",\\n  \\\"email\\\" : \\\"jmcdonald3@amazon.co.uk\\\",\\n  \\\"gender\\\" : \\\"Male\\\",\\n  \\\"ip_address\\\" : \\\"188.172.42.140\\\",\\n  \\\"last_login\\\" : \\\"2015-12-28T14:37:01Z\\\",\\n  \\\"account_balance\\\" : 868.38,\\n  \\\"country\\\" : \\\"ID\\\",\\n  \\\"favorite_color\\\" : \\\"#1b1414\\\",\\n  \\\"column11\\\" : \\\"as\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 3\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 4\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 5,\\n  \\\"first_name\\\" : \\\"Helen\\\",\\n  \\\"last_name\\\" : \\\"Lane\\\",\\n  \\\"email\\\" : \\\"hlane4@trellian.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"159.171.138.190\\\",\\n  \\\"last_login\\\" : \\\"2016-06-30T18:41:18Z\\\",\\n  \\\"account_balance\\\" : 398.97,\\n  \\\"country\\\" : \\\"TN\\\",\\n  \\\"column11\\\" : \\\"g\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 4\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 5\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 6,\\n  \\\"first_name\\\" : \\\"Scott\\\",\\n  \\\"last_name\\\" : \\\"Lopez\\\",\\n  \\\"email\\\" : \\\"slopez5@google.co.jp\\\",\\n  \\\"gender\\\" : \\\"Male\\\",\\n  \\\"ip_address\\\" : \\\"86.194.226.35\\\",\\n  \\\"last_login\\\" : \\\"2015-08-13T02:13:51Z\\\",\\n  \\\"account_balance\\\" : 322.99,\\n  \\\"country\\\" : \\\"BR\\\",\\n  \\\"column11\\\" : \\\"g\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 6\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 7,\\n  \\\"first_name\\\" : \\\"Christine\\\",\\n  \\\"last_name\\\" : \\\"Franklin\\\",\\n  \\\"email\\\" : \\\"cfranklin6@reuters.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"248.173.207.64\\\",\\n  \\\"last_login\\\" : \\\"2015-12-22T11:29:57Z\\\",\\n  \\\"account_balance\\\" : 301.26,\\n  \\\"country\\\" : \\\"PH\\\",\\n  \\\"favorite_color\\\" : \\\"#1d5e9d\\\",\\n  \\\"column11\\\" : \\\"h\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 6\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 7\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 8,\\n  \\\"first_name\\\" : \\\"Helen\\\",\\n  \\\"last_name\\\" : \\\"Andrews\\\",\\n  \\\"email\\\" : \\\"handrews7@histats.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"83.160.63.181\\\",\\n  \\\"last_login\\\" : \\\"2016-03-06T11:41:10Z\\\",\\n  \\\"account_balance\\\" : 217.96,\\n  \\\"country\\\" : \\\"CU\\\",\\n  \\\"column11\\\" : \\\"j\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 7\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 8\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 9,\\n  \\\"first_name\\\" : \\\"Stephanie\\\",\\n  \\\"last_name\\\" : \\\"Gordon\\\",\\n  \\\"email\\\" : \\\"sgordon8@goodreads.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"193.143.42.212\\\",\\n  \\\"last_login\\\" : \\\"2015-10-27T22:07:24Z\\\",\\n  \\\"account_balance\\\" : 495.8,\\n  \\\"country\\\" : \\\"CN\\\",\\n  \\\"column11\\\" : \\\"f\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 8\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 9\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 10,\\n  \\\"first_name\\\" : \\\"Shirley\\\",\\n  \\\"last_name\\\" : \\\"Andrews\\\",\\n  \\\"email\\\" : \\\"sandrews9@flickr.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"99.113.183.206\\\",\\n  \\\"last_login\\\" : \\\"2015-11-07T11:12:52Z\\\",\\n  \\\"account_balance\\\" : 157.75,\\n  \\\"country\\\" : \\\"BR\\\",\\n  \\\"favorite_color\\\" : \\\"#fc1da9\\\",\\n  \\\"column11\\\" : \\\"s\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 9\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 10\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 11,\\n  \\\"first_name\\\" : \\\"Joshua\\\",\\n  \\\"last_name\\\" : \\\"Reid\\\",\\n  \\\"email\\\" : \\\"jreida@wikia.com\\\",\\n  \\\"gender\\\" : \\\"Male\\\",\\n  \\\"ip_address\\\" : \\\"197.96.118.164\\\",\\n  \\\"last_login\\\" : \\\"2015-08-22T13:16:18Z\\\",\\n  \\\"account_balance\\\" : 431.8,\\n  \\\"country\\\" : \\\"CO\\\",\\n  \\\"favorite_color\\\" : \\\"#6e3e36\\\",\\n  \\\"column11\\\" : \\\"dfg\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 10\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 11\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 12,\\n  \\\"first_name\\\" : \\\"Frances\\\",\\n  \\\"last_name\\\" : \\\"Parker\\\",\\n  \\\"email\\\" : \\\"fparkerb@engadget.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"226.237.57.25\\\",\\n  \\\"last_login\\\" : \\\"2015-10-18T01:50:15Z\\\",\\n  \\\"account_balance\\\" : 188.21,\\n  \\\"country\\\" : \\\"BR\\\",\\n  \\\"favorite_color\\\" : \\\"#73e909\\\",\\n  \\\"column11\\\" : \\\"hg\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 11\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 12\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 13,\\n  \\\"first_name\\\" : \\\"Sharon\\\",\\n  \\\"last_name\\\" : \\\"Lawson\\\",\\n  \\\"email\\\" : \\\"slawsonc@bravesites.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"198.189.134.106\\\",\\n  \\\"last_login\\\" : \\\"2016-01-14T17:51:09Z\\\",\\n  \\\"account_balance\\\" : 206.73,\\n  \\\"country\\\" : \\\"VN\\\",\\n  \\\"column11\\\" : \\\"s\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 12\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 13\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 14,\\n  \\\"first_name\\\" : \\\"Elizabeth\\\",\\n  \\\"last_name\\\" : \\\"Wells\\\",\\n  \\\"email\\\" : \\\"ewellsd@redcross.org\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"120.108.59.206\\\",\\n  \\\"last_login\\\" : \\\"2015-09-02T21:53:07Z\\\",\\n  \\\"account_balance\\\" : 499.48,\\n  \\\"country\\\" : \\\"CZ\\\",\\n  \\\"favorite_color\\\" : \\\"#e9c943\\\",\\n  \\\"column11\\\" : \\\"fgs\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 13\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 14\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 15,\\n  \\\"first_name\\\" : \\\"Norma\\\",\\n  \\\"last_name\\\" : \\\"Wilson\\\",\\n  \\\"email\\\" : \\\"nwilsone@google.com.br\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"18.246.76.220\\\",\\n  \\\"last_login\\\" : \\\"2015-09-27T02:10:48Z\\\",\\n  \\\"account_balance\\\" : -65.19,\\n  \\\"country\\\" : \\\"SE\\\",\\n  \\\"favorite_color\\\" : \\\"#645119\\\",\\n  \\\"column11\\\" : \\\"sdfgs\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 14\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 15\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 16,\\n  \\\"first_name\\\" : \\\"Joan\\\",\\n  \\\"last_name\\\" : \\\"Watkins\\\",\\n  \\\"email\\\" : \\\"jwatkinsf@yolasite.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"240.27.33.114\\\",\\n  \\\"last_login\\\" : \\\"2016-03-31T00:29:14Z\\\",\\n  \\\"account_balance\\\" : 264.23,\\n  \\\"country\\\" : \\\"PH\\\",\\n  \\\"column11\\\" : \\\"sdfg\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 15\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 16\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 17,\\n  \\\"first_name\\\" : \\\"Gerald\\\",\\n  \\\"last_name\\\" : \\\"Hamilton\\\",\\n  \\\"email\\\" : \\\"ghamiltong@fc2.com\\\",\\n  \\\"gender\\\" : \\\"Male\\\",\\n  \\\"ip_address\\\" : \\\"182.75.62.95\\\",\\n  \\\"last_login\\\" : \\\"2016-02-10T14:29:35Z\\\",\\n  \\\"account_balance\\\" : 309.26,\\n  \\\"country\\\" : \\\"ID\\\",\\n  \\\"column11\\\" : \\\"sdfg\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 16\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 17\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 18,\\n  \\\"first_name\\\" : \\\"Paula\\\",\\n  \\\"last_name\\\" : \\\"Taylor\\\",\\n  \\\"email\\\" : \\\"ptaylorh@wikispaces.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"245.74.203.0\\\",\\n  \\\"last_login\\\" : \\\"2016-05-11T03:15:10Z\\\",\\n  \\\"account_balance\\\" : 927.45,\\n  \\\"country\\\" : \\\"CN\\\",\\n  \\\"column11\\\" : \\\"sdfg\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 17\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 18\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 19,\\n  \\\"first_name\\\" : \\\"Carolyn\\\",\\n  \\\"last_name\\\" : \\\"Burns\\\",\\n  \\\"email\\\" : \\\"cburnsi@marketwatch.com\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"180.243.11.10\\\",\\n  \\\"last_login\\\" : \\\"2016-02-28T18:49:23Z\\\",\\n  \\\"account_balance\\\" : 752.76,\\n  \\\"country\\\" : \\\"NL\\\",\\n  \\\"column11\\\" : \\\"dsf\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 18\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  }, {\n    \"sourcePartition\" : {\n      \"fileName\" : \"DataHasMoreFields.schemalessjson\"\n    },\n    \"sourceOffset\" : {\n      \"offset\" : 19\n    },\n    \"topic\" : \"testing\",\n    \"valueSchema\" : {\n      \"type\" : \"STRING\",\n      \"isOptional\" : false\n    },\n    \"value\" : \"{\\n  \\\"id\\\" : 20,\\n  \\\"first_name\\\" : \\\"Robin\\\",\\n  \\\"last_name\\\" : \\\"Bennett\\\",\\n  \\\"email\\\" : \\\"rbennettj@cdc.gov\\\",\\n  \\\"gender\\\" : \\\"Female\\\",\\n  \\\"ip_address\\\" : \\\"169.77.92.179\\\",\\n  \\\"last_login\\\" : \\\"2016-02-15T01:06:44Z\\\",\\n  \\\"account_balance\\\" : 143.3,\\n  \\\"country\\\" : \\\"ID\\\",\\n  \\\"favorite_color\\\" : \\\"#506128\\\",\\n  \\\"column11\\\" : \\\"sdfgsdf\\\"\\n}\",\n    \"headers\" : [ {\n      \"name\" : \"file.name\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.path\",\n      \"schema\" : {\n        \"type\" : \"STRING\",\n        \"isOptional\" : false\n      },\n      \"storage\" : \"/var/folders/fc/jqgphp3s5l9087p4v7pdxh040000gn/T/1559925238742-0/input/DataHasMoreFields.schemalessjson\"\n    }, {\n      \"name\" : \"file.length\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 5153\n    }, {\n      \"name\" : \"file.offset\",\n      \"schema\" : {\n        \"type\" : \"INT64\",\n        \"isOptional\" : false\n      },\n      \"storage\" : 19\n    }, {\n      \"name\" : \"file.last.modified\",\n      \"schema\" : {\n        \"name\" : \"org.apache.kafka.connect.data.Timestamp\",\n        \"type\" : \"INT64\",\n        \"version\" : 1,\n        \"isOptional\" : false\n      },\n      \"storage\" : 1559925239000\n    } ]\n  } ]\n}"
  },
  {
    "path": "src/test/resources/logback.xml",
    "content": "<configuration>\n    <appender name=\"STDOUT\" class=\"ch.qos.logback.core.ConsoleAppender\">\n        <encoder class=\"ch.qos.logback.classic.encoder.PatternLayoutEncoder\">\n            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>\n        </encoder>\n    </appender>\n    <logger name=\"com.github.jcustenborder.kafka.connect.spooldir\" level=\"TRACE\"/>\n    <logger name=\"org.reflections\" level=\"ERROR\"/>\n    <root level=\"INFO\">\n        <appender-ref ref=\"STDOUT\" />\n    </root>\n</configuration>"
  }
]