当前位置: 首页 > 知识库问答 >
问题:

Kite数据集图-缩小

谢奇略
2023-03-14

https://github.com/kite-sdk/kite/blob/master/kite-data/kite-data-mapreduce/src/test/java/org/kitesdk/data/mapreduce/testmapreduce.java

我的代码段如下

public class MapReduce {

    private static final String sourceDatasetURI = "dataset:hive:test_avro";

    private static final String destinationDatasetURI = "dataset:hive:test_parquet";

    private static class LineCountMapper
            extends Mapper<GenericData.Record, Void, Text, IntWritable> {
        @Override
        protected void map(GenericData.Record record, Void value,
                           Context context)
                throws IOException, InterruptedException {
            System.out.println("Record is "+record);
            context.write(new Text(record.get("index").toString()), new IntWritable(1));
        }
    }

    private Job createJob() throws Exception {
        System.out.println("Inside Create Job");
        Job job = new Job();
        job.setJarByClass(getClass());

       Dataset<GenericData.Record> inputDataset = Datasets.load(sourceDatasetURI, GenericData.Record.class);
       Dataset<GenericData.Record> outputDataset = Datasets.load(destinationDatasetURI, GenericData.Record.class);

        DatasetKeyInputFormat.configure(job).readFrom(inputDataset).withType(GenericData.Record.class);

        job.setMapperClass(LineCountMapper.class);
        DatasetKeyOutputFormat.configure(job).writeTo(outputDataset).withType(GenericData.Record.class);

        job.waitForCompletion(true);

        return job;
    }

    public static void main(String[] args) throws Exception {
        MapReduce httAvroToParquet = new MapReduce();
        httAvroToParquet.createJob();
    }
}

我正在使用HDP2.3.2 box,创建组装jar并通过Spark-Submit提交我的应用程序。

2015-12-18 04:09:07,156 WARN [main] org.apache.hadoop.hdfs.shortcircuit.DomainSocketFactory: The short-circuit local reads feature cannot be used because libhadoop cannot be loaded.
2015-12-18 04:09:07,282 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: OutputCommitter set in config null
2015-12-18 04:09:07,333 WARN [main] org.kitesdk.data.spi.Registration: Not loading URI patterns in org.kitesdk.data.spi.hive.Loader
2015-12-18 04:09:07,334 INFO [main] org.apache.hadoop.service.AbstractService: Service org.apache.hadoop.mapreduce.v2.app.MRAppMaster failed in state INITED; cause: org.apache.hadoop.yarn.exceptions.YarnRuntimeException: org.kitesdk.data.DatasetNotFoundException: Unknown dataset URI: hive://{}:9083/default/test_parquet. Check that JARs for hive datasets are on the classpath.
org.apache.hadoop.yarn.exceptions.YarnRuntimeException: org.kitesdk.data.DatasetNotFoundException: Unknown dataset URI: hive://{}:9083/default/test_parquet. Check that JARs for hive datasets are on the classpath.
    at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$1.call(MRAppMaster.java:478)
    at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$1.call(MRAppMaster.java:458)
    at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.callWithJobClassLoader(MRAppMaster.java:1560)
    at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.createOutputCommitter(MRAppMaster.java:458)
    at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.serviceInit(MRAppMaster.java:377)
    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
    at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$4.run(MRAppMaster.java:1518)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
    at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.initAndStartAppMaster(MRAppMaster.java:1515)
    at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1448)
Caused by: org.kitesdk.data.DatasetNotFoundException: Unknown dataset URI: hive://{}:9083/default/test_parquet. Check that JARs for hive datasets are on the classpath.
    at org.kitesdk.data.spi.Registration.lookupDatasetUri(Registration.java:109)
    at org.kitesdk.data.Datasets.load(Datasets.java:103)
    at org.kitesdk.data.Datasets.load(Datasets.java:165)
    at org.kitesdk.data.mapreduce.DatasetKeyOutputFormat.load(DatasetKeyOutputFormat.java:510)
    at org.kitesdk.data.mapreduce.DatasetKeyOutputFormat.getOutputCommitter(DatasetKeyOutputFormat.java:473)
    at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$1.call(MRAppMaster.java:476)
    ... 11 more

我不明白怎么了?有没有类路径问题?如果是,那么我在哪里设置它?

共有1个答案

尹承泽
2023-03-14

实际上存在类路径问题

您的项目缺少org.kitesdk:kite-data-hive

你可以

    null
 类似资料:
  • Kite 是下一代 Webmail 平台,可以说是 Gmail 的克隆。Kite 非常容易在单个服务器上部署。前端使用 AngularJS,后端使用 Python。

  • 【Kite是什么?git项目上的解释】  Kite is a framework for developing micro-services in Go. 一个基于go语言的微服务框架,微服务概念非常火,可以自行google了解。 文章介绍: The Kite library development started within Koding, but it was quickly open so

  • Kite 是一个由人工智能驱动的编程助手,帮助你在编辑器/ IDE 内更快地编写代码。Kite 通过节省你的键盘敲击次数并在正确的时间向你显示正确的信息来帮助你更快地编写代码。 Kite 适用于所有主要的编程语言:Python、Java、Go、PHP、C/C#/C++、Javascript、HTML/CSS、Typescript、React、Ruby、Scala、Kotlin、Bash、Vue 和

  • 地图数据集 是我们提供给 Highmaps 用户的一系列地图数据集合,可以很方便创建各国,地区及不同级别的地图。对于其他地图软件,也可以利用我们提供的 SVG 或 Geojson 进行修改或生产地图数据。 使用协议 Highmaps 地图数据集 的使用协议和数据来源有关。Admin0 (国家)数据和 Admin1(中国的省份,美国的洲,德国的联邦等)的数据来源是 Natural Earth,其数据

  • 我有三种不同的解决方案(搜索引擎、nosql数据库和自行开发的语义索引应用程序)来存储文档。 我正在对所有不同的解决方案运行查询,并希望使用类似于SQL Join的方法合并它们。这意味着有时我需要在document_id上加入3个或更多不同的数据集。 你知道Hadoop上的Map Reduce或者类似的东西是不是解决这个问题的最好方法?这些数据集可以包含从1 document_id到100 000

  • 目前,我正在用深度CNN训练类似Flickrlogos-32的小型标志数据集。为了训练更大的网络,我需要更多的数据集,因此使用增强。我现在做的最好的是使用仿射变换(特征归一化、特征中心化、旋转、宽度高度移位、水平垂直翻转)。但对于更大的网络,我需要更多的增强。我试着在Kaggle的国家数据科学碗的论坛上搜索,但没有得到多少帮助。这里给出了一些方法的代码,但我不确定哪些方法是有用的。除了仿射变换之外