Scio VS secor

Compare Scio vs secor and see what are their differences.

secor

Secor is a service implementing Kafka log persistence (by pinterest)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Scio secor
7 3
2,520 1,834
0.4% 0.2%
9.6 0.0
2 days ago 4 days ago
Scala Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Scio

Posts with mentions or reviews of Scio. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-14.
  • Are there any openly available data engineering projects using Scala and Spark which follow industry conventions like proper folder/package structures and object oriented division of classes/concerns? Most examples I’ve seen have everything in one file without proper separation of concerns.
    1 project | /r/dataengineering | 24 Jan 2023
  • For the DE's that choose Java over Python in new projects, why?
    1 project | /r/dataengineering | 2 Jun 2022
    I doubt it is possible because I suspect that GIL would like a word. So I could spend nights trying to make it work in Python (and possibly, if not likely, fail). Or I could just use this ready made solution.
  • what popular companies uses Scala?
    3 projects | /r/scala | 14 May 2022
    Apache Beam API called Scio. They open sourced it https://spotify.github.io/scio/
  • Scala or Python
    1 project | /r/dataengineering | 19 Apr 2022
    Generally Python is a lingua franca. I have never met a data engineer that doesn't know Python. Scala isn't used everywhere. Also, you should know that in Apache Beam (data processing framework that's gaining popularity because it can handle both streaming and batch processing and runs on spark) the language choices are Java, Python, Go and Scala. So, even if you "only" know Java, you can get started with Data engineering through apache beam.
  • Wanting to move away from SQL
    2 projects | /r/dataengineering | 25 Feb 2022
    I agree 100%. I haven't used SQL that much in previous data engineering roles, and I refuse to consider jobs that mostly deal with SQL. One of my roles involved using a nice Scala API for apache beam called Scio and it was great. Code was easy to write, maintain, and test. It also worked well with other services like PubSub and BigTable.
  • ETL Pipelines with Airflow: The Good, the Bad and the Ugly
    7 projects | news.ycombinator.com | 8 Oct 2021
    If you prefer Scala, then you can try Scio: https://github.com/spotify/scio.
  • ELT, Data Pipeline
    4 projects | dev.to | 1 Jan 2021
    To counter the above mentioned problem, we decided to move our data to a Pub/Sub based stream model, where we would continue to push data as it arrives. As fluentd is the primary tool being used in all our servers to gather data, rather than replacing it we leveraged its plugin architecture to use a plugin to stream data into a sink of our choosing. Initially our inclination was towards Google PubSub and Google Dataflow as our Data Scientists/Engineers use Big Query extensively and keeping the data in the same Cloud made sense. The inspiration of using these tools came from Spotify’s Event Delivery – The Road to the Cloud. We did the setup on one of our staging server with Google PubSub and Dataflow. Both didn't really work out for us as PubSub model requires a Subscriber to be available for the Topic a Publisher streams messages to, otherwise the messages are not stored. On top of it there was no way to see which messages are arriving. During this the weirdest thing that we encountered was that the Topic would be orphaned losing the subscribers when working with Dataflow. PubSub we might have managed to live with, the wall in our path was Dataflow. We started off with using SCIO from Spotify to work with Dataflow, there is a considerate lack of documentation over it and found the community to be very reserved on Github, something quite evident in the world of Scala for which they came up with a Code of Conduct for its user base to follow. Something that was required from Dataflow for us was to support batch write option to GCS, after trying our hand at Dataflow to no success to achieve that, Google's staff at StackOverflow were quite responsive and their response confirmed that it was something not available with Dataflow and streaming data to BigQuery, Datastore or Bigtable as a datastore was an option to use. The reason we didn't do that was to avoid high streaming cost to these services to store data, as majority of our jobs from the data team are based on batched hourly data. The initial proposal to the updated pipeline is shown below.

secor

Posts with mentions or reviews of secor. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-07.
  • Kafka to GCS Persistence Tools
    2 projects | /r/dataengineering | 7 Nov 2022
    secor: Seems a bit on the older side
  • Storing kakfa messages to dynamoDb
    1 project | /r/apachekafka | 11 Feb 2022
    Since you are trying to archive this data, a simpler solution is to use something like secor to archive the data in kafka to S3. It’s much cheaper than dynamodb too.
  • ELT, Data Pipeline
    4 projects | dev.to | 1 Jan 2021
    Once we had our producer working for Kafka , it was time for a consumer to start pulling data and push it to GCS. With some research over at Github we found Secor from Pinterest to be a viable option for our use. Though it being a great piece of software, it wasn't mapping ideally to our design, for that purpose we had to submit few Pull requests to make the necessary changes to the secor project for our use and the greater good of the open source community. From updating the docs (PR268, PR271, PR277) on how to set it up to adding flexible upload directory structure with hourly support (PR275) and support for partitioned parser with no offset folder (PR279), also added flexible delimited file reader, writer option (PR291) for better control over file structure. Below diagram is our current ELT pipeline running in production.

What are some alternatives?

When comparing Scio and secor you can also consider the following projects:

Apache Spark - Apache Spark - A unified analytics engine for large-scale data processing

kafkat - KafkaT-ool

Apache Flink - Apache Flink

Apache Kafka - Mirror of Apache Kafka

fluent-plugin-kafka - Kafka input and output plugin for Fluentd

beam - Apache Beam is a unified programming model for Batch and Streaming data processing.

Thingsboard - Open-source IoT Platform - Device management, data collection, processing and visualization.

Reactive-kafka - Alpakka Kafka connector - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka.

graylog - Free and open log management

metorikku - A simplified, lightweight ETL Framework based on Apache Spark

gcs-connector-for-apache-kafka - Aiven's GCS Sink Connector for Apache Kafka®