我有一个使用gradle kotlin dsl构建的java项目。
现在我想像这样使用gradle-avro-plugin https://github . com/davidmc 24/gradle-avro-plugin # alternate-usage
在 kotlin dsl 中,我编写了与下面相同的逻辑 -
plugins {
java
id( "com.github.davidmc24.gradle.plugin.avro") version "1.0.0"
}
dependencies {
implementation ("org.apache.avro", "avro", "1.10.1")
}
val generateAvro = tasks.register<com.github.davidmc24.gradle.plugin.avro.GenerateAvroJavaTask>("generateAvro") {
source("src/avro")
this.setOutputDir(file("dest/avro"))
}
configure<org.gradle.api.tasks.compile.JavaCompile> {
this.source = fileTree(generateAvro)
}
当我运行< code>grade compileJava时,上面的代码返回以下错误-
> * What went wrong:
类型“JavaCompile”的扩展不存在。当前注册的扩展类型:[ExtraPropertiesExtension, DefaultArtifactPublicationSet, SourceSetContainer, ReportingExtension, JavaPluginExtension, JavaInstallationRegistry, JavaToolchainService, DistributionContainer, JavaApplication, DefaultAvroExtension]
我如何修复这个错误?
我有类似的问题,对我有用的是:
plugins {
id("com.github.davidmc24.gradle.plugin.avro") version "1.2.0"
}
dependencies {
implementation("org.apache.avro:avro:1.10.1")
}
tasks.withType<com.github.davidmc24.gradle.plugin.avro.GenerateAvroJavaTask> {
setOutputDir(file("src/dest/dir/"))
}
重要的是,我没有注册新任务,只是为每个任务指定了一个新的目标目录,类型为GenerateAvroJavaTask
根据Avro文档中“default”属性的定义:“此字段的默认值,用于读取缺少此字段的实例(可选)。” 这意味着,如果缺少相应的字段,则采用默认值。 但事实似乎并非如此。考虑下面的<代码>学生<代码>模式: 模式表示:如果“年龄”字段丢失,则将值视为-1。“名称”字段也是如此。 现在,如果我尝试从以下JSON构建学生模型: 我得到一个例外: 看起来默认设置未按预期工作。那么,违约的作用到底是什么呢
我正在从Cloudera包裹中运行带有Spark 0.9.0的CDH 4.4。 我有一堆Avro文件是通过Pig的AvroStorage UDF创建的。我想在 Spark 中加载这些文件,使用通用记录或载入 Avro 文件的架构。到目前为止,我已经尝试过这个: 这适用于一个文件,但它不能扩展——我将所有数据加载到本地RAM中,然后从那里跨spark节点分发。
问题内容: 一些JQuery插件不仅会向DOM节点添加行为,还会对其进行更改。例如,引导开关转向 变成像 与 哪个与React不兼容: 是否有推荐的技术将这些插件合并到React组件中?还是他们从根本上打破了React的假设并且无法使用它? 问题答案: 不,React会对在React之外修改自己的组件dom结构的任何事物产生严重的反应(haha)。这是您永远不想做的事情。推荐的解决方案是在reac
问题内容: 我有对象的arraylist,并尝试将列表插入HANA。所以我的插入代码看起来像 } 这里 返回一个整数数组。 但这无法正常工作。根据我的程序每次都会调用ARRAY函数,但是为什么不将其插入HANA数据库中呢,所以过了一会儿我才知道我必须将JAVA Array转换为HANA Array。如何转换Java Array到HANA阵列。任何帮助表示赞赏。 问题答案: @RKR好的,这里有您的
要使用 Java 插件, 需要在构建脚本中加入如下内容 例子 22.1.使用 Java 插件 bulid.gradle apply plugin: 'java'
当我尝试基于avro模式将avro数据写入s3时 DF数据类型: finaldf.write().option(“avroschema”,string.valueof(inAvroSchema)).format(“com.databricks.spark.avro”).mode(“overwrite”).save(“target_s3_path”); 我得到了错误: