Datastax Pig - не удается загрузить данные из Cassandra

Я пытаюсь запустить тестовый скрипт PIG в PIG для загрузки данных из cassandra на предприятии Datastax, но получаю сообщение об ошибке. Позвольте мне показать весь сценарий:

Схема Cassandra: CREATE KEYSPACE libdata WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};

CREATE TABLE libout ("STABR" ТЕКСТ, "FSCSKEY" ТЕКСТ, "FSCS_SEQ" ТЕКСТ, "LIBID" ТЕКСТ, "LIBNAME" ТЕКСТ, "АДРЕС" ТЕКСТ, "ГОРОД" ТЕКСТ, "ZIP" ТЕКСТ, "ZIP4" ТЕКСТ, " CNTY" ТЕКСТ, "PHONE" ТЕКСТ, "C_OUT_TY" ТЕКСТ, "C_MSA" ТЕКСТ, "SQ_FEET" INT, "F_SQ_FT" ТЕКСТ, "L_NUM_BM" INT, "F_BKMOB" ТЕКСТ, "HOURS" INT, "F_HOURS" ТЕКСТ, " WKS_OPEN" INT, "F_WKSOPN" TEXT, "YR_SUB" INT, "STATSTRU" INT, "STATNAME" INT, "STATADDR" INT, "LONGITUD" FLOAT, "LATITUDE" FLOAT, "FIPSST" INT, "FIPSCO" INT, " FIPSPLAC" INT, "CNTYPOP" INT, "LOCALE" TEXT, "CENTRACT" FLOAT, "CENBLOCK" INT, "CDCODE" TEXT, "MAT_CENT" TEXT, "MAT_TYPE" INT, "CBSA" INT, "MICROF" TEXT, PRIMARY КЛЮЧ ("FSCSKEY", "FSCS_SEQ");

cqlsh:libdata> CREATE TABLE libsqft (год INT, состояние ТЕКСТ, sqft BIGINT, PRIMARY KEY (год, состояние)); Вторая таблица будет использоваться для хранения данных от свиньи до кассандры.

В PIG GRUNT: grunt> libdata = LOAD 'cql://libdata/libout' ИСПОЛЬЗОВАНИЕ CqlStorage(); grunt> дамп libdata;

Это мой вывод:

2014-08-18 23:03:00,173 [основная] ОШИБКА org.apache.pig.tools.pigstats.SimplePigStats — ОШИБКА 2997: невозможно воссоздать исключение из резервной ошибки: java.lang.RuntimeException в org.apache.cassandra.hadoop .cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:657) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.(CqlPagingRecordReader.java:301) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader инициализировать (CqlPagingRecordReader.java:167) в org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.initialize(PigRecordReader.java:181) в org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask. java:522) по адресу org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763) по адресу org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) по адресу org.apache.hadoop.mapred .Child$4.run(Child.java:266) в java.security.AccessController.doPrivileged(Nati ve Method) в javax.security.auth.Subject.doAs(Subject.java:415) в org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) в org.apache.hadoop.mapred.Child. main(Child.java:260) Вызвано: UnavailableException() в org.apache.cassandra.thrift.Cassandra$execute_prepared_cql3_query_result$execute_prepared_cql3_query_resultStandardScheme.read(Cassandra.java:53662) в org.apache.cassandra.thrift$ry_qresult_prepared execute_prepared_cql3_query_resultStandardScheme.read(Cassandra.java:53630) в org.apache.cassandra.thrift.Cassandra$execute_prepared_cql3_query_result.read(Cassandra.java:53545) в org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) в org. .apache.cassandra.thrift.Cassandra$Client.recv_execute_prepared_cql3_query(Cassandra.java:1820) в org.apache.cassandra.thrift.Cassandra$Client.execute_prepared_cql3_query(Cassandra.java:1805) at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:635) ... еще 11

2014-08-18 23:03:00,173 [основная] ОШИБКА org.apache.pig.tools.pigstats.PigStatsUtil — 1 задание(я) уменьшения карты не выполнено! 2014-08-18 23:03:00,174 [основная] ИНФОРМАЦИЯ org.apache.pig.tools.pigstats.SimplePigStats — Статистика скрипта:

HadoopVersion PigVersion UserId StartedAt FinishedAt Features 1.0.4.13 0.10.1 Ubuntu 18.08.2014 23:02:11 18-08-2014 23:03:00 НЕИЗВЕСТНО

Не удалось!

Failed Jobs: JobId Alias ​​Feature Message Выводит job_201408182033_0011 libdata MAP_ONLY Сообщение: Job failed! Ошибка. Превышено допустимое количество невыполненных задач карты. FailedCount: 1. LastFailedTask: task_201408182033_0011_m_000000 cfs://10.82.31.13/tmp/temp-1734707970/tmp1694465949,

Входные данные: не удалось прочитать данные из "cql://libdata/libout"

Выходные данные: не удалось получить результат в "cfs://10.82.31.13/tmp/temp-1734707970/tmp1694465949"

Счетчики: Всего записано записей: 0 Всего записано байтов: 0 Счетчик сбросов диспетчера оперативной памяти: 0 Всего упреждающе удаленных пакетов: 0 Всего упреждающе удаленных записей: 0

Работа DAG: job_201408182033_0011

18.08.2014, 23:03:00,174 [основная] ИНФОРМАЦИЯ org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher — Ошибка! 2014-08-18 23:03:00,215 [основная] ОШИБКА org.apache.pig.tools.grunt.Grunt — ОШИБКА 2997: невозможно воссоздать исключение из поддерживаемой ошибки: java.lang.RuntimeException в org.apache.cassandra.hadoop .cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:657) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.(CqlPagingRecordReader.java:301) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader инициализировать (CqlPagingRecordReader.java:167) в org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.initialize(PigRecordReader.java:181) в org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask. java:522) на org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763) на org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) на org.apache.hadoop.mapred .Child$4.run(Child.java:266) в java.security.AccessController.doPrivileged(собственный метод) в javax.security.auth.Subject.doAs(Subject.java:415) в org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) в org.apache.hadoop.mapred.Child.main(Child .java: 260) Вызванный: UnavailableException () в org.apache.cassandra.thrift.Cassandra $ execute_prepared_cql3_query_result $ execute_prepared_cql3_query_resultStandardScheme.read (Cassandra.java:53662) в org.apache.cassandra.thrift.Cassandra $ execute_prepared_cql3_query_result $ execute_prepared_cql3_query_resultStandardScheme.read (Cassandra.java:53630) в org.apache.cassandra.thrift.Cassandra$execute_prepared_cql3_query_result.read(Cassandra.java:53545) в org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) в org.apache. cassandra.thrift.Cassandra$Client.recv_execute_prepared_cql3_query(Cassandra.java:1820) в org.apache.cassandra.thrift.Cassandra$Client.execute_prepared_cql3_query(Cassandra.java:1805) в org.apach e.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:635) ... еще 11

2014-08-18 23:03:00,215 [основная] ПРЕДУПРЕЖДЕНИЕ org.apache.pig.tools.grunt.Grunt — нет файла журнала для записи. 2014-08-18 23:03:00,215 [основная] ОШИБКА org.apache.pig.tools.grunt.Grunt — org.apache.pig.impl.logicalLayer.FrontendException: ОШИБКА 1066: невозможно открыть итератор для псевдонима libdata. Ошибка серверной части: невозможно воссоздать исключение из поддерживаемой ошибки: java.lang.RuntimeException в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:657) в org.apache.cassandra.hadoop.cql3. CqlPagingRecordReader$RowIterator.(CqlPagingRecordReader.java:301) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader.initialize(CqlPagingRecordReader.java:167) в org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.iniize (PigRecordReader.java:181) по адресу org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:522) по адресу org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763) по адресу org. apache.hadoop.mapred.MapTask.run(MapTask.java:370) в org.apache.hadoop.mapred.Child$4.run(Child.java:266) в java.security.AccessController.doPrivileged(собственный метод) в javax .security.auth.Subject.doAs(Subject.java:415) в org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) в org.apache.hadoop.mapred.Child.main(Child.java:260) Вызвано: UnavailableException() в org.apache.cassandra .thrift.Cassandra $ execute_prepared_cql3_query_result $ execute_prepared_cql3_query_resultStandardScheme.read (Cassandra.java:53662) в org.apache.cassandra.thrift.Cassandra $ execute_prepared_cql3_query_result $ execute_prepared_cql3_query_resultStandardScheme.read (Cassandra.java:53630) в org.apache.cassandra.thrift.Cassandra $execute_prepared_cql3_query_result.read(Cassandra.java:53545) в org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) в org.apache.cassandra.thrift.Cassandra$Client.recv_execute_prepared_cql3_query(Cassandra.java:1820) в org.apache.cassandra.thrift.Cassandra$Client.execute_prepared_cql3_query(Cassandra.java:1805) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQue ry(CqlPagingRecordReader.java:635) ... еще 11

Вызвано: org.apache.pig.backend.executionengine.ExecException: ОШИБКА 2997: невозможно воссоздать исключение из поддерживаемой ошибки: java.lang.RuntimeException в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader. java:657) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.(CqlPagingRecordReader.java:301) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader.initialize(CqlPagingRecordReader.java:167) в org. apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.initialize(PigRecordReader.java:181) в org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:522) в org.apache.hadoop. mapred.MapTask.runNewMapper(MapTask.java:763) в org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) в org.apache.hadoop.mapred.Child$4.run(Child.java:266) ) в java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs(Subject.java:415) в org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) в org.apache.hadoop.mapred.Child.main(Child .java: 260) Вызванный: UnavailableException () в org.apache.cassandra.thrift.Cassandra $ execute_prepared_cql3_query_result $ execute_prepared_cql3_query_resultStandardScheme.read (Cassandra.java:53662) в org.apache.cassandra.thrift.Cassandra $ execute_prepared_cql3_query_result $ execute_prepared_cql3_query_resultStandardScheme.read (Cassandra.java:53630) в org.apache.cassandra.thrift.Cassandra$execute_prepared_cql3_query_result.read(Cassandra.java:53545) в org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) в org.apache. cassandra.thrift.Cassandra$Client.recv_execute_prepared_cql3_query(Cassandra.java:1820) в org.apache.cassandra.thrift.Cassandra$Client.execute_prepared_cql3_query(Cassandra.java:1805) в org.apache.cassa ndra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:635) ... еще 11

    at org.apache.pig.PigServer.openIterator(PigServer.java:856)
    at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:683)
    at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:303)
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:190)
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:166)
    at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
    at org.apache.pig.Main.run(Main.java:490)
    at org.apache.pig.Main.main(Main.java:111)
    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.hadoop.util.RunJar.main(RunJar.java:156)

Похоже, что Pig не может читать данные из cassandra. Кто-нибудь имеет представление о том, что происходит?

    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.Launcher.getErrorMessages(Launcher.java:217)
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.Launcher.getStats(Launcher.java:149)
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:383)
    at org.apache.pig.PigServer.launchPlan(PigServer.java:1279)
    at org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1264)
    at org.apache.pig.PigServer.storeEx(PigServer.java:961)
    at org.apache.pig.PigServer.store(PigServer.java:928)
    at org.apache.pig.PigServer.openIterator(PigServer.java:841)
    ... 12 more

Большое спасибо.

Бруно

Хорошей новостью является то, что точная последовательность шагов, которую вы предоставили, правильно работает при новой установке кластера DSE 4.5.1 с одним узлом.


person Bruno César    schedule 18.08.2014    source источник
comment
Привет Бруно, я столкнулся с той же проблемой. Как вы указали правильную стойку?   -  person Dennis Jaheruddin    schedule 28.12.2015


Ответы (4)


Журналы не указывают на какие-либо проблемы, кроме «UnavailableException», что означает, что запрос поступает к Cassandra, и Cassandra не считает, что достаточно узлов для выполнения вашего запроса.

При RF=1 подразумевается, что если какой-либо узел в вашем кластере не работает, вы столкнетесь с этим исключением для некоторой части вашего набора данных.

Моя рекомендация будет

Журналы Cassandra также должны отображать это UnavailableEXception и, возможно, более точно указывать на основной источник проблемы.

  1. Предполагая, что это работает, дважды проверьте топологию и статус вашего кластера «кольцо nodetool» или представление кольца opscenter, которые будут весьма полезны для этого.
  2. Как ты поживаешь, свинья? Я спрашиваю из-за:

Я не вижу никаких указаний на то, что эта проблема связана с конфигурацией или использованием самого Pig.

Попробуйте еще раз на одном узле с установленным DSE 4.5.1.

person Tupshin Harper    schedule 19.08.2014

ПРЕДУПРЕЖДЕНИЕ org.apache.pig.tools.grunt.Grunt — нет файла журнала для записи. 2014-08-18 23:03:00,215 [основная]

Обычно в каталоге установки dse должен быть файл журнала, когда вы запускаете:

/bin/dse свинья

На самом деле, Себастьян, я запутался. Я пытался прочитать данные из своего кластера cassandra, но не использовал правильное имя стойки. У меня есть кластер с 3 стойками: Solr Analytics (Hadoop) и Cassandra

person phact    schedule 20.08.2014

В таблице, которую я создал, использовалось имя стойки «Solr», а не Analytics. Теперь это решено.

Спасибо за помощь.

Попробуйте пересоздать кластер.

person Bruno César    schedule 20.08.2014
comment
Добро пожаловать в stackoverflow.com. Я уверен, что решение находится за ссылкой, но не могли бы вы вкратце подвести итоги здесь. Наличие решения здесь делает его более стабильным и, следовательно, более ценным. Содержимое ссылки может измениться. - person worker1138; 21.11.2014

посмотрите эту документацию. http://www.datastax.com/docs/datastax_enterprise3.1/solutions/about_pig

Для людей, которые нашли этот пост при поиске ОШИБКА 1066: невозможно открыть итератор для псевдонима вот общее решение.

person Vinicius Miranda    schedule 19.08.2014
comment
18.08.2014 23:02:11,603 [основная] ИНФОРМАЦИЯ org.apache.pig.tools.pigstats.ScriptState — функции Pig, используемые в скрипте: НЕИЗВЕСТНО 18-08-2014 23:02:11,607 [основная] ИНФОРМАЦИЯ org. apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler — Порог объединения файлов: 100 оптимистично? false 18.08.2014, 23:02:11,608 [основная] ИНФОРМАЦИЯ org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer — размер плана MR до оптимизации: 1 18.08.2014, 23:02:11,608 [основная ] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer — размер плана MR после оптимизации: 1 2014-08-18 23:02:11,613 [main] INFO org.apache.pig.tools.pigstats.ScriptState - В задание добавлены настройки скрипта Pig не установлено, установлено значение по умолчанию 0.3 2014-08-18 23:02:11,613 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - создание jar-файла Job5135328249315577655.jar 2014-08-18 23 :02:14,378 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - jar файл Job5135328249315577655.jar создан 2014-08-18 23:02:14,386 [main] INFO org. apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler — Настройка задания с одним хранилищем map-reduce задания, ожидающие отправки. 2014-08-18 23:02:14,783 [Thread-12] INFO org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil — Всего входных путей (в совокупности) для обработки: 1 2014-08-18 23:02 :14,901 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher — завершено 0% 18.08.2014 23:02:15,439 [main] INFO org.apache.pig.backend.hadoop.executionengine .mapReduceLayer.MapReduceLauncher — HadoopJobId: job_201408182033_0011 2014-08-18 23:02:15,439 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher — дополнительная информация по адресу: http://_1_:50030/ jobdetails.jsp?jobid=job_201408182033_0011 2014-08-18 23:03:00,167 [основная] ИНФОРМАЦИЯ org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher — задание job_201408182033_0011 не удалось! Остановить выполнение всех зависимых заданий ] ПРЕДУПРЕЖДЕНИЕ org.apache.pig.backend.hadoop.executionengine.mapReduceLayer. Launcher - нет файла журнала для записи. 2014-08-18 23:03:00,169 [основная] ОШИБКА $RowIterator.executeQuery(CqlPagingRecordReader.java:657) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.(CqlPagingRecordReader.java:301) в org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader.initialize(CqlPagingRecordReader java:167) в org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.initialize(PigRecordReader.java:181) в org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:522) в org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763) в org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) в org.apache.hadoop.mapred.Child$4. запустить (Child.java: 266) в java.security.AccessController.doPrivileged (собственный метод) в javax.security.auth.Subject.doAs(Subject.java:415) в org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) в org.apache.hadoop.mapred.Child.main(Child .java: 260) Вызванный: UnavailableException () в org.apache.cassandra.thrift.Cassandra $ execute_prepared_cql3_query_result $ execute_prepared_cql3_query_resultStandardScheme.read (Cassandra.java:53662) в org.apache.cassandra.thrift.Cassandra $ execute_prepared_cql3_query_result $ execute_prepared_cql3_query_resultStandardScheme.read (Cassandra.java:53630) в org.apache.cassandra.thrift.Cassandra$execute_prepared_cql3_query_result.read(Cassandra.java:53545) в org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) в org.apache. cassandra.thrift.Cassandra$Client.recv_execute_prepared_cql3_query(Cassandra.java:1820) в org.apache.cassandra.thrift.Cassandra$Client.execute_prepared_cql3_query(Cassandra.java:1805) в org.apache .cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:635) ... еще 11 - person Trudbert; 19.08.2014