Ошибка при выполнении скрипта Pig с использованием Spring xd

Я пытаюсь выполнить фрагмент кода свиньи с помощью Spring xd, но не могу этого сделать. Я создал задание, используя следующую команду

job create --name Pig_job --definition "PigTest" --deploy

Определение задания PigTest определяется следующим образом в каталоге Spring xd modules/job.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"



xmlns:hdp="http://www.springframework.org/schema/hadoop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
    http://www.springframework.org/schema/hadoop http://www.springframework.org/schema/hadoop/spring-hadoop.xsd">


<hdp:pig-runner id="pigRunner" run-at-startup="true">
   <hdp:script>
         student = LOAD '/user/KhiTest/Test123/student' AS     (Id:int,Name:chararray,Year:int);
         DUMP student;
   </hdp:script>
   </hdp:pig-runner>

</beans>

Задание создается успешно, но развертывание завершается сбоем. Файл журнала приведен ниже:

Вызвано: java.lang.ClassNotFoundException: org.apache.pig.backend.executionengine.ExecJob


person jsonbourne    schedule 18.02.2015    source источник


Ответы (1)


Вы добавили свинью в /lib модуля?

В Spring XD 1.1.0 мы теперь включаем банку Pig в путь к классам Hadoop. Попробуйте использовать последнюю версию, а также посмотрите пример здесь: github.com/spring-projects/spring-xd-samples/tree/master/ . Лучший способ настроить задание — настроить его как пакетное задание, которое использует тасклет Pig на одном из шагов.

person Gary Russell    schedule 18.02.2015
comment
У меня есть следующие jar-файлы в каталоге /lib. банка - person Thomas Risberg; 19.02.2015
comment
Итак, в этом случае у вас нет банки со свиньей, но я не думаю, что ваш код будет работать как задание, так как у вас нет ‹batch:job›, определенного в конфигурации вашего модуля. Новый выпуск XD 1.1.0 включает _1_ в путь к классам XD. Не могли бы вы обновиться до 1.1.0? Если да, взгляните на образец модуля Pig — github.com/spring-projects/spring-xd-samples/tree/master/ - person jsonbourne; 19.02.2015
comment
23:57:46,990 ОШИБКА DeploymentsPathChildrenCache-0 boot.SpringApplication — сбой запуска приложения org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем «pigRunner»: сбой инициализации bean-компонента; вложенным исключением является java.lang.TypeNotPresentException: тип org.apache.pig.backend.executionengine.ExecJob отсутствует в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547) в org.springframework.beans .factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) в org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry. getSingleton(DefaultSingletonBeanRegistry.java:228) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) в org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) в org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703) в org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) в org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) в org.springframework.boot.SpringApplication.refresh(SpringApplication .java:691) в org.springframework.boot.SpringApplication.run(SpringApplication.java:320) в org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142) в org.springframework.xd.module. core.SimpleModule.initialize(SimpleModule.java:210) в org.springframework.xd.dirt.module.ModuleDeployer.deploy(ModuleDeployer.java:98) в org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer. java:88) в org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer.java:78) в org.springframework.xd.dirt.server.ContainerRegistrar.deployModule(ContainerRegistrar.java:236) в org.springframework.xd.dirt.server.ContainerRegistrar.deployJobModule(ContainerRegistrar.java:697) в org.springframework.xd.dirt.server.ContainerRegistrar.onChildAdded(ContainerRegistrar.java:614) в org.springframework.xd.dirt. сервер. ContainerRegistrar.access$800(ContainerRegistrar.java:99) в org.springframework.xd.dirt.server.ContainerRegistrar$DeploymentListener.childEvent(ContainerRegistrar.java:1020) в org.apache.curator.framework.recipes.cache.PathChildrenCache$5. apply(PathChildrenCache.java:509) в org.apache.curator.framework.recipes.cache.PathChildrenCache$5.apply(PathChildrenCache.java:503) в org.apache.curator.framework.listen.ListenerContainer$1.run(ListenerContainer. java:92) в com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297) в org.apache.curator.framework.listen.ListenerContainer.forEach(ListenerContainer.java:83) в org. .apache.curator.framework.recipes.cache.PathChildrenCache.callListeners(PathChildrenCache.java:500) в org.apache.curator.framework.recipes.cache.EventOperation.invoke(EventOperation.java:35) в org.apache.curator .framework.recipes.cache.PathChildrenCache$10.run(PathChildrenCache.java:762) в java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) в java.util.concurrent.FutureTask.run(FutureTask.java:262) в java.util.concurrent.Executors$RunnableAdapter.call(Executors .java:471) в java.util.concurrent.FutureTask.run(FutureTask.java:262) в java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) в java.util.concurrent.ThreadPoolExecutor$Worker. run(ThreadPoolExecutor.java:615) в java.lang.Thread.run(Thread.java:745) Вызвано: java.lang.TypeNotPresentException: Тип org.apache.pig.backend.executionengine.ExecJob отсутствует в sun.reflect .generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) в sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) в sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java :49) в sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) в sun.reflect.generics.v isitor.Reifier.visitClassTypeSignature(Reifier.java:138) в sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) в sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) в sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) в sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) в sun.reflect.generics.repository.ClassRepository.getSuperInterfaces (ClassRepository.java:100) на java.lang. Class.getGenericInterfaces(Class.java:819) в org.springframework.core.ResolvableType.getInterfaces(ResolvableType.java:399) в org.springframework.core.ResolvableType.as(ResolvableType.java:365) в org.springframework.core .ResolvableType.forMethodParameter(ResolvableType.java:1082) в org.springframework.core.ResolvableType.forMethodParameter(ResolvableType.java:1051) в org.springframework.core.ResolvableType.forMethodReturnType(ResolvableType.java:1010) в org.springframework. core.GenericTypeResolver.resolveReturnType(GenericTypeResolver.java:89) в org.springframework.beans.GenericTypeAwarePropertyDescriptor.getPropertyType(GenericTypeAwarePropertyDescriptor.java:132) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isExcludedFromDependencyCheck в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(Abs tractAutowireCapableBeanFactory.java:1346) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(AbstractAutowireCapableBeanFactory.java:1322) в org.springframework.beans.factory.support.AbstractAutowireCapable1BeanFactory.populateBean(java0BeanFactory.populateBean)(java0BeanFactory.populateBean)(java0BeanFactory.populateBean) .springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ... еще 35 $1.run(URLClassLoader.java:366) в java.net.URLClassLoader$1.run(URLClassLoader.java:355) в java.security.AccessController.doPrivileged(собственный метод) в java.net.URLClassLoader.findClass(URLClassLoader.java :354) в java.lang.ClassLoader.loadClass(ClassLoader.java:425) в sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) в java.lang.ClassLoader.loadClass(ClassLoader.java:358) в java.lang.Class.forName0(собственный метод) в java.lang.Class.forName(Class.java:274) в sun.reflect.generics.factory .CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) ... еще 57 23:57:46,992 ОШИБКА DeploymentsPathChildrenCache-0 server.ContainerRegistrar - исключение при развертывании модуля org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем 'pigRunner' : Инициализация bean-компонента не удалась; вложенным исключением является java.lang. TypeNotPresentException: введите org.apache.pig.backend.executionengine.ExecJob, отсутствующий в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory. createBean(AbstractAutowireCapableBeanFactory.java:475) в org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228 ) на org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) на org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) на org.springframework.beans. factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703) в org.springframework.context .support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) в org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) в org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) в org.springframework.boot.SpringApplication.run(SpringApplication.java:320) в org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:142) в org.springframework.xd.module.core.SimpleModule.initialize( SimpleModule.java:210) в org.springframework.xd.dirt.module.ModuleDeployer.deploy(ModuleDeployer.java:98) в org.springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer.java:88) в org .springframework.xd.dirt.module.ModuleDeployer.deployAndStore(ModuleDeployer.java:78) в org.springframework.xd.dirt.server.ContainerRegistrar.deployModule(ContainerRegistrar.java:236) в org.springframework.xd.dirt.s erver.ContainerRegistrar.deployJobModule(ContainerRegistrar.java:697) в org.springframework.xd.dirt.server.ContainerRegistrar.onChildAdded(ContainerRegistrar.java:614) в org.springframework.xd.dirt.server.Class.getGenericInterfaces(Class. java:819) в org.springframework.core.ResolvableType.getInterfaces(ResolvableType.java:399) в org.springframework.core.ResolvableType.as(ResolvableType.java:365) в org.springframework.core.ResolvableType.forMethodParameter(ResolvableType .java:1082) на org.springframework.core. ResolvableType.forMethodParameter(ResolvableType.java:1051) в org.springframework.core.ResolvableType.forMethodReturnType(ResolvableType.java:1010) в org.springframework.core.GenericTypeResolver.resolveReturnType(GenericTypeResolver.java:89) в org.springframework.beans .GenericTypeAwarePropertyDescriptor.getPropertyType (GenericTypeAwarePropertyDescriptor.java:132) при org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.isExcludedFromDependencyCheck (AbstractAutowireCapableBeanFactory.java:1365) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck (AbstractAutowireCapableBeanFactory.java :1346) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(AbstractAutowireCapableBeanFactory.java:1322) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowi reCapableBeanFactory.java:1180) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ... еще 35 Вызвано: java.lang.ClassNotFoundException: org.apache.pig.backend.executionengine .ExecJob в java.net.URLClassLoader$1.run(URLClassLoader.java:366) в java.net.URLClassLoader$1.run(URLClassLoader.java:355) в java.security.AccessController.doPrivileged(собственный метод) в java.net .URLClassLoader.findClass(URLClassLoader.java:354) в java.lang.ClassLoader.loadClass(ClassLoader.java:425) в sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) в java.lang.ClassLoader. loadClass(ClassLoader.java:358) в java.lang.Class.forName0(собственный метод) в java.lang.Class.forName(Class.java:274) в sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory. java:114) ... еще 57 23:57:47,017 INFO DeploymentsPathChildrenCache-0 server. ContainerRegistrar — событие кэша пути: path=/deployments/modules/allocated/cd96473f-2317-4b0a-877e-8abb4cc15c8f/Pig_Test.job.Pig_runner.1, type=CHILD_REMOVED 23:57:47,017 INFO Deployer server.JobDeploymentListener — статус развертывания для задание «Pig_Test»: DeploymentStatus {состояние = сбой, ошибка (ы) = org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем «pigRunner»: сбой инициализации компонента; вложенным исключением является java.lang.ResolvableType.forMethodParameter(ResolvableType.java:1051) в org.springframework.core. ResolvableType.forMethodReturnType(ResolvableType.java:1010) в org.springframework.core.GenericTypeResolver.resolveReturnType(GenericTypeResolver.java:89) в org.springframework.beans.GenericTypeAwarePropertyDescriptor.getPropertyType(GenericTypeAwarePropertyDescriptor.java:132) в org.springframework.beans .factory.support.AbstractAutowireCapableBeanFactory.isExcludedFromDependencyCheck (AbstractAutowireCapableBeanFactory.java:1365) при org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck (AbstractAutowireCapableBeanFactory.java:1346) при org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck (AbstractAutowireCapableBeanFactory.java:1322) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1180) в org.springframework.beans.factory.support.AbstractAut owireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) ... еще 35 Вызвано: java.lang.ClassNotFoundException: org.apache.pig.backend.executionengine.ExecJob в java.net.URLClassLoader$1.run(URLClassLoader.java:366 ) в java.net.URLClassLoader$1.run(URLClassLoader.java:355) в java.security.AccessController.doPrivileged(собственный метод) в java.net.URLClassLoader.findClass(URLClassLoader.java:354) в java.lang.ClassLoader .loadClass(ClassLoader.java:425) в sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) в java.lang.ClassLoader.loadClass(ClassLoader.java:358) в java.lang.Class.forName0( Native Method) в java.lang.Class.forName(Class.java:274) в sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) ... еще 57 } 23:57:47,017 INFO DeploymentsPathChildrenCache -0 server.ContainerRegistrar — Отключаемый модуль [ModuleDescriptor@d8cfc80 moduleName = 'Pig_runner ', moduleLabel = 'Pig_runner', group = 'Pig_Test', sourceChannelName = [null], sinkChannelName = [null], sinkChannelName = [null], index = 0, тип = задание, параметры = карта [[пусто]], дочерние элементы = список[[пусто]]] - person Thomas Risberg; 20.02.2015