Translation not up to date
Tato řešení vám pomohou vyřešit problémy, se kterými se můžete setkat pomocí produktu IBM® DataStage®.
Získání nápovědy a podpory pro DataStage
Máte-li při použití produktu DataStageproblémy nebo otázky, můžete získat nápovědu vyhledáním informací nebo kladením otázek prostřednictvím fóra. Můžete také otevřít tiket podpory.
Když se na fóra ptáte, označte svou otázku tak, aby ji viděli vývojové týmy produktu DataStage .
V případě otázek týkajících se služby a pokynů pro zahájení práce použijte fórum na adrese https://stackoverflow.com/questions/tagged/datastage.
Pokud stále nemůžete problém vyřešit, můžete otevřít tiket podpory IBM . Informace o otevření tiketu podpory IBM nebo o úrovních podpory viz "Kontaktovat podporu" na adrese https://cloud.ibm.com/unifiedsupport/supportcenter.
Obsah
- Úlohy selžou, protože před příkazem SQL není spuštěn příkaz SQL
- Úloha se zdrojovými daty z konektoru SAP OData selže
- Nelze spustit transakční SQL na datech z produktu Apache Hive verze 2.0 nebo dřívější
- Problém s nedostatkem paměti pro operátor DataStage
- Db2 (optimalizované) připojení s certifikátem SSL selže s chybou "Kód chyby specifický pro protokol 414"
- Příkaz mailx se nezdaří spustit v podrutinách before-job a after-job bez informací o serveru SMTP
- Výběr vlastností není zachován, pokud zrušíte výběr volby "Použít vlastnosti DataStage "
- Rutina selže při spuštění funkce CEL ds.getUserStatus v externím toku
- Úloha selže při načítání velkého souboru aplikace Excel
- PostgreSQL vyprší u velkých tabulek
- Problémy při procházení databázových tabulek se sloupci, které obsahují speciální znaky
- Nesprávné odvozování přiřazené ke schématu čtenému prohlížečem aktiv
- Použití sekvenčních souborů jako zdroje
- Chyba při spouštění úloh s formátem souboru parketu
- Změny schématu, které pocházejí z dat z konektoru HTTP, mohou způsobit selhání úlohy
Úlohy selžou, protože před příkazem SQL není spuštěn příkaz SQL
Na některých konektorech nemusí být příkaz Before SQL spuštěn, dokud není příkaz SQL již spuštěn.
Náhradní řešení: Přidejte příkaz commit za každý příkaz SQL.
Úloha se zdrojovými daty z konektoru SAP OData selže
Pokud váš tok obsahuje zdrojová data z produktu SAP OData, může dojít k selhání toku, pokud jste vytvořili tok ručním přidáním sloupců, které nedodržují konvenci pojmenování SAP .
Řešení: Aktualizujte tok nebo přidejte sloupce pomocí prohlížeče aktiv nebo přejmenujte sloupce podle konvence pojmenování SAP . Konvence pojmenování SAP se řídí hierarchií objektů SAP se dvěma znaky podtržení (__
) jako oddělovačem. Pokud například sloupec PurchaseOrder patří do PurchaseOrderPoznámka, název sloupce by měl být uveden jako PurchaseOrderNote__PurchaseOrder.
Nelze spustit transakční SQL na datech z produktu Apache Hive verze 2.0 nebo dřívější
Pokud jsou vaše data z produktu Apache Hive verze 2.0 nebo starší a tok DataStage provádí příkazy UPDATE nebo DELETE, úloha může selhat. Ujistěte se, že cílová tabulka byla vytvořena podle požadavků transakcí Hive a že server Apache Hive je nakonfigurován pro podporu operací ACID.
Minimální sada parametrů (nakonfigurovaná v souboru hive-site.xml ), kterou musíte povolit pro tabulky ACID v produktu Apache Hive , je:
hive.support.concurrency = true
hive.enforce.bucketing = true (not required as of Hive 2.0)
hive.exec.dynamic.partition.mode = nonstrict
hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
hive.compactor.initiator.on = true
hive.compactor.worker.threads = <a positive number>
Další informace viz Hive Transakce.
Problém s nedostatkem paměti pro operátor DataStage
# Retrieve the DataStage CSS name
oc -n ${PROJECT_CPD_INST_OPERATORS} oc get csv | grep datastage
# patch the DataStage CSV to increase the operator memory from 1Gi to 2Gi
oc -n ${PROJECT_CPD_INST_OPERATORS} patch csv <DataStage-CSV-name> --type='json' -p='[{"op": "replace", "path": "/spec/install/spec/deployments/0/spec/template/spec/containers/0/resources/limits/memory", "value": "2Gi" }]'
Db2 (optimalizované) připojení s certifikátem SSL selže s chybou "Kód chyby 414 specifický pro protokol"
Pokud použijete certifikát SSL v (optimalizovaném) připojení Db2® a připojení se nezdaří s chybou "Kód chyby 414 specifický pro protokol", použijte toto náhradní řešení:
- Identifikujte kořenový certifikát na serveru Db2 . Pomocí tohoto příkazu můžete zobrazit řetěz certifikátů:
openssl s_client -connect <hostname>:<port> -showcerts
- Ujistěte se, že certifikát má stejný předmět a vydavatele.
- Na stránce Vytvořit připojení: IBM Db2 (optimalizováno) zadejte kořenový certifikát do pole Certifikát SSL (arm) .
Spuštění příkazu mailx v podrutinách before-job a after-job bez informací o serveru SMTP se nezdařilo.
Pokud se příkaz mailx
používá v subrutině before-job nebo after-job, musíte zadat informace o serveru SMTP, jinak se provedení postoupí do sendmail
a nezdaří se.
Výběry vlastností nejsou zachovány, pokud zrušíte výběr volby "Použít DataStage "
Pokud zadáte jiné vlastnosti (například pro tabulky nebo schémata) s vybranou volbou Použít vlastnosti DataStage a pak zrušíte výběr volby Použít vlastnosti DataStage, vlastnosti nebudou zachovány.
Řešení: Zrušte výběr výchozího nastavení Použít vlastnosti DataStage , pokud je nechcete použít před zadáním dalších vlastností. Jinak znovu vyberte vlastnosti.
Rutina selže, když je funkce CEL ds.getUserStatus spuštěna na externím toku
Když je vestavěná funkce CEL ds.getUserStatus
spuštěna na cíli, který není ve stejném propojení procesů, selže a nemůže načíst stav uživatele. Místo toho použijte rozhraní příkazového řádku dsjob
v uzlu skriptu Run Bash. Příklad, jak toto přepsat, viz příkaz dsjob
používaný produktem DSGetUserStatus()
v příkladech náhrady rutin v DataStage.
Úloha selže při načítání velkého souboru aplikace Excel
Úloha s konektorem, který zpracovává velký soubor aplikace Excel, může selhat s touto chybou:
"CDICO9999E: Internal error occurred: IO error: The Excel file is too large. (error code: DATA_IO_ERROR)"
Zkuste zvětšit velikost haldy. Volba vlastností velikosti haldy se nachází v sekci Další vlastnosti na kartě Fáze konektoru.
PostgreSQL vypršení časového limitu konektoru pro velké tabulky
Konektor PostgreSQL může selhat s chybou časového limitu, když je jako zdroj použita velká tabulka (100 000 + řádků). Chcete-li tuto chybu opravit, zkuste nastavit vyšší hodnotu časového limitu pro proměnnou prostředí APT_RECORD_TIMEOUT. Viz Správa proměnných prostředí v DataStage.
Exportované toky generují soubory připojení JSON, které obsahují hesla ve formátu prostého textu.
oc -n ${PROJECT_CPD_INSTANCE} patch datastage datastage --patch '{"spec":{"migration_export_remove_secrets":true}}' --type=merge
Problémy s procházením databázových tabulek se sloupci, které obsahují speciální znaky
Můžete mít problémy, když používáte Prohlížeč aktiv k procházení databázových tabulek, pokud vybraná tabulka obsahuje sloupec se speciálními znaky, jako např. ., $nebo #, a tuto tabulku přidáte do toku DataStage . DataStage nepodporuje názvy sloupců, které obsahují speciální znaky. DataStage toky, které odkazují na sloupce s názvy, které obsahují tyto speciální znaky, nebudou fungovat.
Chcete-li tento problém obejít, vytvořte pohled na databázovou tabulku a předefinujte název sloupce v pohledu. Například:
create view view1 as select column1$ as column1, column2# as column2 ... from table
Když pak použijete prohlížeč aktiv, vyhledejte pohled a přidejte jej do toku DataStage .
Nesprávné odvozování přiřazené ke schématu čtenému prohlížečem aktiv
Prohlížeč aktiv přečte prvních 1000 záznamů a odvodí schéma, například název sloupce, délku, datový typ a povolenou hodnotu Null, na základě těchto prvních 1000 záznamů v souborech v produktu IBM Cloud Object Storage, Amazon S3, Google Cloud Storage, Azure File Storage, Azure Blob Storagenebo ve službě Azure Data Lake. Prohlížeč aktiv může například identifikovat sloupec jako celé číslo na základě toho, co bylo zjištěno v prvních 1000 záznamech, avšak pozdější záznamy v souboru mohou ukazovat, že tento sloupec by měl být považován za datový typ varchar . Podobně může Prohlížeč aktiv odvodit sloupec jako varchar(20) , i když pozdější záznamy ukazují, že sloupec by měl být varchar(100).
- Profilujte zdrojová data tak, aby generovala lepší metadata.
- Změňte všechny sloupce na varchar(1024) a postupně zužte datový typ.
Použití sekvenčních souborů jako zdroje
- Vyhledejte instanci projektu Cloud Object Storage .
- V instanci projektu vyhledejte sektor odpovídající aktuálnímu projektu. Umístění je obvykle:
<lowercase-project-name>-donotdelete-<random-string>
Například:
project2021mar01-donotdelete-pr-ifpkjcbk71s36j
Poté odešlete soubory zadáním
DataStage/files/
do pole Předpona pro objekt .
Chyba při spouštění úloh s formátem souboru parketu
Error: CDICO9999E: Internal error occurred: Illegal
state error: INTEGER(32,false) can only annotate INT32.
32bitové celé číslo bez znaménka (uint32) a 64bitové celé číslo bez znaménka (uint64) nejsou podporovány ve formátu Parquet, který produkt DataStage používá pro všechny konektory souborů. Musíte použít podporované datové typy.Změny schématu, které pocházejí z dat z konektoru HTTP, mohou způsobit selhání úlohy
Když použijete konektor HTTP ke stažení souboru a pak odešlete stejný soubor do produktu IBM Cloud® Object Storage nebo do databáze, pokud se schéma souboru v průběhu času změní, úloha může selhat.
Náhradní řešení: Znovu vytvořte fázi.