我有一个带有swagger2的spring-boot应用程序。我希望能够将父对象列表以敏捷的方式映射到我的请求模型。我正在使用注释atm,但也可以使用yaml文件。
假设我有一个抽象类Person和两个孩子类Child和Adult。在我的请求中,我列出了一个Person列表,其中可以包含Child对象和Adult对象。
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type",
visible = true)
@JsonSubTypes({
@JsonSubTypes.Type(value = Child.class, name = "CHILD"),
@JsonSubTypes.Type(value = Adult.class, name = "ADULT")})
@ApiModel(value = "Child", subTypes = {Child.class, Adult.class}, discriminator = "type")
public abstract class Person {
@ApiModelProperty(notes = "Name of the person", example = "aaron")
private String name;
@ApiModelProperty(notes = "Birthdate of the person", example = "2000-07-10")
private Date birthDate;
@ApiModelProperty(notes = "Type of the person ('CHILD' or 'ADULT')", example = "CHILD")
private …Run Code Online (Sandbox Code Playgroud) 我正在做一个相当大的项目。我需要使用 azure-security-keyvault-secrets,因此我在 pom.xml 文件中添加了以下内容:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-security-keyvault-secrets</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.0.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我运行此示例代码时:
object Test {
def main(args: Array[String]): Unit = {
// get vault name from system env -> databricks
val secretClient = new SecretClientBuilder()
.vaultUrl("https://myVault.vault.azure.net/")
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient
val secret = secretClient.getSecret("AzureAccountName")
println("===================== " + secret.getValue)
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
java.lang.NoSuchMethodError: com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase.findFormatOverrides(Lcom/fasterxml/jackson/databind/DeserializationContext;Lcom/fasterxml/jackson/databind/BeanProperty;Ljava/lang/Class;)Lcom/fasterxml/jackson/annotation/JsonFormat$Value;
at com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase.createContextual(JSR310DateTimeDeserializerBase.java:79)
at com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer.createContextual(InstantDeserializer.java:241)
at com.fasterxml.jackson.databind.DeserializationContext.handleSecondaryContextualization(DeserializationContext.java:669)
at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:430)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.findDeserializer(StdDeserializer.java:947)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:439)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:296)
at com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
at com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
at com.fasterxml.jackson.databind.DeserializationContext.findContextualValueDeserializer(DeserializationContext.java:428)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.findDeserializer(StdDeserializer.java:947)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:439)
at …Run Code Online (Sandbox Code Playgroud) 我正在研究 Azure databricks。我的驱动程序节点和工作程序节点规格为:14.0 GB 内存、4 核、0.75 DBU Standard_DS3_v2。
我的 pyspark 笔记本因 Java 堆空间错误而失败。我上网查了一下,有一个建议是增加驱动内存。我正在尝试在笔记本中使用以下conf参数
spark.conf.get("spark.driver.memory")
Run Code Online (Sandbox Code Playgroud)
获取驱动程序内存。但我的笔记本电脑因错误而失败。
java.util.NoSuchElementException: spark.driver.memory
Run Code Online (Sandbox Code Playgroud)
知道如何检查驱动程序内存并更改其值吗?
对于我们的用例,我们需要从 S3 存储桶加载 json 文件。我们使用 AWS Glue 作为处理工具。但由于我们很快就会迁移到 Amazon EMR,因此我们已经在开发仅使用 Spark 功能的 Glue 作业。这样以后迁移会更容易。这意味着对于我们的用例,我们不能使用任何 Glue 功能,例如对输入文件进行分组。
我们面临的问题是,当我们读取这些 JSON 文件时,我们发现驱动程序的内存将达到 100%,直到最终作业因 OOM 异常而失败。
--conf spark.driver.memory=20g我们已经尝试通过使用 G.2X 实例并向Glue 作业添加参数来最大化驱动程序内存。
我们使用的代码很简单:
spark.read.option("inferSchema", value = true).json("s3://bucket_with_json/sub_folder")
Run Code Online (Sandbox Code Playgroud)
输入数据是21个json文件,大小为100MB。文件本身不是有效的 json 对象,但每个文件包含多个 json 对象。例如:
{
"RecordNumber": 2,
"Zipcode": 704,
"ZipCodeType": "STANDARD",
"City": "PASEO COSTA DEL SUR",
"State": "PR"
}
{
"RecordNumber": 10,
"Zipcode": 709,
"ZipCodeType": "STANDARD",
"City": "BDA SAN LUIS",
"State": "PR"
}
Run Code Online (Sandbox Code Playgroud)
(不是真实的数据集)
我们目前使用的胶水作业规格:
'--conf': 'spark.driver.maxResultSize=2g …我正在尝试将现有数据帧的架构更改为另一个数据帧的架构.
DataFrame 1:
Column A | Column B | Column C | Column D
"a" | 1 | 2.0 | 300
"b" | 2 | 3.0 | 400
"c" | 3 | 4.0 | 500
Run Code Online (Sandbox Code Playgroud)
DataFrame 2:
Column K | Column B | Column F
"c" | 4 | 5.0
"b" | 5 | 6.0
"f" | 6 | 7.0
Run Code Online (Sandbox Code Playgroud)
所以我想在第二个数据帧上应用第一个数据帧的模式.所以所有相同的列都保留下来.数据框2中不在1中的列将被删除.其他人变成"空".
产量
Column A | Column B | Column C | Column D
"NULL" | 4 | "NULL" | "NULL" …Run Code Online (Sandbox Code Playgroud) 最近,AWS 宣布了针对 Glue ETL 和流作业的自动缩放功能。我今天看到我当前工作的区域现在支持此功能。
我可以确认这正在使用控制台工作,如文档中所述。
我想知道是否可以使用 CloudFormation 启用此功能。在CloudFormation 文档中,我没有看到任何可以启用此功能的设置。
我猜测只有该功能退出预览模式后才可用,但我不能 100% 确定。有人知道更多吗?或者有人可以证实我的推测吗?
apache-spark ×3
scala ×3
aws-glue ×2
amazon-s3 ×1
dataframe ×1
jackson ×1
java ×1
maven ×1
pyspark ×1
spring-boot ×1
swagger-2.0 ×1
swagger-ui ×1