Ошибка запроса в свободной форме sqoop при импорте сервера sql -> hbase

Привет всем, я пытаюсь импортировать некоторые данные с сервера SQL в hbase и создать таблицу на лету. Мне удалось заставить его работать с помощью простого запроса (SELECT * FROM dbo.Testчерез оболочку bash. Хотя для моей цели мне нужно будет использовать более сложный запрос. Я пытаюсь сделать это, передавая запрос через аргумент файла параметров, SQL выполняется на сервере SQL нормально, хотя я получаю расширяющийся аргумент / неправильно сформированные опции в ошибке файла параметров.
Когда левое внешнее соединение удаляется, оно будет жаловаться на каждый из указанных столбцов, я пробовал заключать в одинарные, двойные кавычки &/ или же \ в конце каждой строки без удачи. Смотрите мой запрос импорта файла / опций sqoop. Заранее спасибо.

--query
SELECT  CAST(REPLACE(CDT.BatchId, ' ', '') AS VARCHAR(MAX)) + CAST(REPLACE(BT.CreatedDt, ' ', '') AS VARCHAR(MAX)) + CAST(REPLACE(MV.ModelId, ' ', '') AS VARCHAR(MAX)) AS rowKey
  , BT.CreatedDt
  , M.ModelNm
  , MV.VersionNum 
  , CDT.ScoreNum
  , CS.StatusNm
  , CLNT.CandInfoParamValue AS ClntIntrnlId  
  , CLNTx.CandInfoParamValue AS CreatedDt
  , CLNTy.CandInfoParamValue AS BusinessEventReceiptId
  , CDT.TreatmentPlanNm
  , TG.TreatmentGroupNm
  , T.TreatmentNm
  , TWP.TeamNm 
  , PCR.PostCodeRangeNm
  , BT.SubmissionId
  FROM DBO.Users CDT
  INNER JOIN Batch BT on BT.Id = CDT.BatchId
  INNER JOIN ModelVersion MV ON BT.ModelVersionId = MV.Id
  INNER JOIN Model M ON MV.ModelId = M.Id
  INNER JOIN dbo.TreatedList T ON CDT.TreatmentId = T.Id
  INNER JOIN dbo.Postcode P ON CDT.Postcode = P.Postcode
  INNER JOIN dbo.PostcodeRange PCR ON P.Range = PCR.Id
  INNER JOIN dbo.TeamZX TWP ON CDT.ClientId = 
  TWP.ClientSecRatingId
  INNER JOIN dbo.TreatmentGroupTreatmentLink TGL ON CDT.TreatmentId = 
  TGL.TreatmentId
  INNER JOIN dbo.TreatmentGroup TG ON TGL.TreatmentId = T.Id
  INNER JOIN dbo.CandidateStatus CS ON CDT.StatusId = CS.Id
  LEFT OUTER JOIN dbo.CandidateInfo AS CLNT ON CLNT.CandidateId = CDT.Id AND 
  CLNT.CandInfoParamNm = 'ClientInternalId'  LEFT OUTER JOIN 
  dbo.CandidateInfo 
  AS CLNTx ON CLNT.CandidateId = CDT.Id AND CLNT.CandInfoParamNm = 
  'CreatedDt'
  LEFT OUTER JOIN dbo.CandidateInfo AS CLNTy ON CLNT.CandidateId = CDT.Id 
  AND 
  CLNT.CandInfoParamNm = 'BusinessEventReceiptId'

sqoop import --verbose --hbase-create-table --hbase-table 'Test:OACDT' -- 
column-family CF1 --hbase-row-key rowKey --connect 
"jdbc:sqlserver://13.98.106.48;database=TestDevQ;username=test;password= 
test" --options-file /home/sql.txt

0 ответов

Другие вопросы по тегам