Arhn - архитектура программирования

Учебник Spark для Avro

Я начал со Spark, и мой вариант использования — чтение файла Avro (источник данных) и выполнение ETL на основе правил. Для начала я просто хотел попробовать прочитать AVRO и создать RDD. Основываясь на рекомендации на одном из сайтов stackoverflow, я `

object abc {

  def main(args: Array[String]): Unit = 
  { 
    //val master = Properties.envOrElse("MASTER",args(0))
    val path = args(0)
    val sparkContext = new SparkContext(new SparkConf().setAppName("My-spark-app"))
    val jobConf = new JobConf(sparkContext.hadoopConfiguration)
    val rdd = sparkContext.hadoopFile (
        path, 
        classOf[org.apache.avro.mapred.AvroInputFormat[GenericRecord]],
        classOf[org.apache.avro.mapred.AvroWrapper[GenericRecord]],
        classOf[org.apache.hadoop.io.NullWritable],
        10)

    println(rdd.first)

  }
}`

Моя среда — CDH 5.1.3. Я получаю следующую ошибку.

15/03/17 08:53:58 INFO YarnClientClusterScheduler: YarnClientClusterScheduler.postStartHook done
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/avro/mapred/AvroInputFormat
        at com.scif.afw.abc$.main(abc.scala:30)
        at com.scif.afw.abc.main(abc.scala)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:292)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.avro.mapred.AvroInputFormat
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

Я построил проект с помощью Maven, и в моем POM есть банка Avro, и я вижу класс в банке.

Ценю любую помощь

17.03.2015

Ответы:


1

Если вы используете кластер пряжи, может присутствовать avro jar из yarn.application.classpath. NoClassDefFound может быть вызван несколькими экземплярами одного и того же класса в пути к классам (1 из вашей банки и 2 из пути к классу приложения пряжи по умолчанию)

04.05.2015
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..