Ошибка при создании внешней таблицы Hive в IBM Analytics Engine
Я создаю внешнюю таблицу кустов из файла CSV, расположенного в IBM Cloud Object Storage. Я использую клиент beeline, пока ssh'd в кластер с пользователем clsadmin. Я был в состоянии сделать соединение JDBC. Получение ошибки ниже при создании таблицы.
Файл csv находится в контейнере с именем маскированного имени, и я назвал параметр fs.cos "hivetest"
0: jdbc:hive2://***hostname-masked***> CREATE EXTERNAL TABLE NYC311Complaints (UniqueKey string, CreatedDate string, ClosedDate string, Agency string, AgencyName string, ComplaintType string, Descriptor string, LocationType string, IncidentZip string, IncidentAddress string, StreetName string, CrossStreet1 string, CrossStreet2 string, IntersectionStreet1 string, IntersectionStreet2 string, AddressType string, City string, Landmark string, FacilityType string, Status string, DueDate string, ResolutionDescription string, ResolutionActionUpdatedDate string, CommunityBoard string, Borough string, XCoordinateStatePlane string, YCoordinateStatePlane string, ParkFacilityName string, ParkBorough string, SchoolName string, SchoolNumber string, SchoolRegion string, SchoolCode string, SchoolPhoneNumber string, SchoolAddress string, SchoolCity string, SchoolState string, SchoolZip string, SchoolNotFound string, SchoolorCitywideComplaint string, VehicleType string, TaxiCompanyBorough string, TaxiPickUpLocation string, BridgeHighwayName string, BridgeHighwayDirection string, RoadRamp string, BridgeHighwaySegment string, GarageLotName string, FerryDirection string, FerryTerminalName string, Latitude string, Longitude string, Location string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION 'cos://*bucket-name-masked*.hivetest/IAE_examples_data_311NYC.csv';
Ошибка: ошибка при обработке оператора: СБОЙ: Ошибка выполнения, код возврата 1 из org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(сообщение: cos: //bucket-name-masked.hivetest / IAE_examples_data_311NYC.csv не является каталогом или не может его создать) (state = 08S01, code = 1) 0: jdbc: hive2: //hostname-masked>
Это похоже на проблему с разрешениями, но я предоставил все учетные данные для соответствующих идентификаторов пользователей в hdfs, а также
1 ответ
Проблема была связана с URL-адресом. Имя файла не указывается. Только корзина должна быть названа, и объекты в ней будут прочитаны. С именем файла весь путь читается как имя сегмента и ищет там obj.