Conversation
…nd by explictly providing the kmsKeyId
- org.mockito.plugins.MockMaker with "mock-maker-inline" allows mocking final classes. (hint: https://www.baeldung.com/mockito-final)
…Request that is used to query object on S3.
…ded from environment property: TOOLING_KMS_KEY_ID cleanup
| @@ -0,0 +1 @@ | |||
| mock-maker-inline | |||
There was a problem hiding this comment.
This allows mocking final classes for Mockito, which would not be otherwise possible.
README.md update with S3 specific example
atum/src/main/scala/za/co/absa/atum/persistence/ControlMeasuresParser.scala
Show resolved
Hide resolved
| @@ -0,0 +1,12 @@ | |||
| package za.co.absa.atum.utils | |||
There was a problem hiding this comment.
Would it be an idea to have FileUtils, HdfsFileUtils, S3Utils together in one object?
There was a problem hiding this comment.
Well, they could in theory. I thought the separation clearly communicates the different concerns they solve. 🤷 I will think about it.
There was a problem hiding this comment.
The more I think about this, the less I think it would improve things. So unless there is an obvious upside in this (that I am not seeing at the moment), I'd rather keep it separate.
"implicit def StringToPath" changed to an implicit class wrapper. version update to 0.3.0-SNAPSHOT
|
Very cool PR, please include @yruslan to review when ready ;) |
…torer (s3 based or not). may expose the kmsKeyId this way, though!
todo = s3Location work, remove extensive logging
…ined storer, no storing otherwise. toS3Location test added
| import za.co.absa.atum.model.Measurement | ||
|
|
||
| class BigDecimalToJsonSerializationSpec extends FlatSpec with Matchers { | ||
| class BigDecimalToJsonSerializationSpec extends AnyFlatSpec with Matchers { |
There was a problem hiding this comment.
This change (org.scalatest.{FlatSpec, Matchers} -> org.scalatest.{flatspec.AnyFlatSpec, matchers.should.Matchers}) is due to ScalaTest version upgrade.
| * Ability to view the storer if set. | ||
| * @return | ||
| */ | ||
| private[atum] def getStorer: Option[ControlMeasuresStorer] = if (isStorerLoaded) Some(storer) else None |
There was a problem hiding this comment.
This way, the accumulator insides are opened to the rest of the Atum to behave differently based on what kind of storer (HDFS vs S3) is used.
AWS support for ATUM
sparkSession.enableControlMeasuresTrackingForS3- no breaking changes for existing usageza.co.absa.atum.persistence.hdfs, while the s3 one is underza.co.absa.atum.persistence.s3for the structures to make sense.ControlMeasures(Hdfs|S3)(Loader|Storer)JsonSpecSparkQueryExecutionListener) and output info file inference for the S3 case support added.Test-run support
SampleMeasurementsS3RunnerSpecsamlprofilesamlprofileTest-run
I have successfully run
SampleS3Measurements1andSampleS3Measurements2with a real S3 location, the data were read from and written to. ✔️