Я пытаюсь запустить тестовый скрипт 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 с одним узлом.