secondsky/sap-skills

sap-hana-cloud-data-intelligence

Develops data processing pipelines, integrations, and machine learning scenarios in SAP Data Intelligence Cloud.

Zobacz źródło
Oryginalny dokument Skill

Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.

SAP HANA Cloud Data Intelligence Skill

Related Skills

  • sap-hana-ml: Use for Python ML client workflows that run against SAP HANA
  • sap-datasphere: Use for Datasphere modeling, replication, and analytics data warehousing
  • sap-btp-connectivity: Use for cloud-to-on-premise connection and destination prerequisites
  • sap-btp-integration-suite: Use for integration scenarios that should move out of Data Intelligence pipelines

This skill provides documentation-audited guidance for developing with SAP Data Intelligence Cloud, including pipeline creation, operator development, data integration, and machine learning scenarios. The last_verified date is intentionally stale until product lifecycle status and live graph/runtime behavior are checked against primary sources.

Table of Contents

When to Use This Skill

Use this skill when:

  • Creating or modifying data processing graphs/pipelines
  • Developing custom operators (Gen1 or Gen2)
  • Integrating ABAP-based SAP systems (S/4HANA, BW)
  • Building replication flows for data movement
  • Developing ML scenarios with ML Scenario Manager
  • Working with JupyterLab in Data Intelligence
  • Using Data Transformation Language (DTL) functions
  • Configuring subengines (Python, Node.js, C++)
  • Working with structured data operators

Common Issues

IssueFirst check
Graph fails after operator changeConfirm all operators use the same generation and compatible subengine.
ABAP/S4HANA connection failsVerify Cloud Connector, destination, and credential configuration.
Python or Node operator behaves differently in runtimeCheck subengine version, package availability, and serialization boundaries.

Core Concepts

Graphs (Pipelines)

Graphs are networks of operators connected via typed input/output ports for data transfer.

Two Generations:

  • Gen1 Operators: Legacy operators, broad compatibility
  • Gen2 Operators: Enhanced error recovery, state management, snapshots

Critical Rule: Graphs cannot mix Gen1 and Gen2 operators - choose one generation per graph.

Gen2 Advantages:

  • Automatic error recovery with snapshots
  • State management with periodic checkpoints
  • Native multiplexing (one-to-many, many-to-one)
  • Improved Python3 operator

Operators

Building blocks that process data within graphs. Each operator has:

  • Ports: Typed input/output connections for data flow
  • Configuration: Parameters that control behavior
  • Runtime: Engine that executes the operator

Operator Categories:

  1. Messaging (Kafka, MQTT, NATS)
  2. Storage (Files, HDFS, S3, Azure, GCS)
  3. Database (HANA, SAP BW, SQL)
  4. Script (Python, JavaScript, R, Go)
  5. Data Processing (Transform, Anonymize, Validate)
  6. Machine Learning (TensorFlow, PyTorch, HANA ML)
  7. Integration (OData, REST, SAP CPI)
  8. Workflow (Pipeline, Data Workflow)

Subengines

Subengines enable operators to run on different runtimes within the same graph.

Supported Subengines:

  • ABAP: For ABAP Pipeline Engine operators
  • Python 3.9: For Python-based operators
  • Node.js: For JavaScript-based operators
  • C++: For high-performance native operators

Key Benefit: Connected operators on the same subengine run in a single OS process for optimal performance.

Trade-off: Cross-engine communication requires serialization/deserialization overhead.

Quick Start Patterns

Basic Graph Creation

1. Open SAP Data Intelligence Modeler
2. Create new graph
3. Add operators from repository
4. Connect operator ports (matching types)
5. Configure operator parameters
6. Validate graph
7. Execute and monitor

Replication Flow Pattern

1. Create replication flow in Modeler
2. Configure source connection (ABAP, HANA, etc.)
3. Configure target (HANA Cloud, S3, Kafka, etc.)
4. Add tasks with source objects
5. Define filters and mappings
6. Validate flow
7. Deploy to tenant repository
8. Run and monitor

Delivery Guarantees:

  • Default: At-least-once (may have duplicates)
  • With UPSERT to databases: Exactly-once
  • For cloud storage: Use "Suppress Duplicates" option

ML Scenario Pattern

1. Open ML Scenario Manager from launchpad
2. Create new scenario
3. Add datasets (register data sources)
4. Create Jupyter notebooks for experiments
5. Build training pipelines
6. Track metrics with Metrics Explorer
7. Version scenario for reproducibility
8. Deploy model pipeline

Common Tasks

ABAP System Integration

For integrating ABAP-based SAP systems:

  1. Prerequisites: Configure Cloud Connector for on-premise systems
  2. Connection Setup: Create ABAP connection in Connection Management
  3. Metadata Access: Use Metadata Explorer for object discovery
  4. Data Sources: CDS Views, ODP (Operational Data Provisioning), Tables

Reference: See references/abap-integration.md for detailed setup.

Structured Data Processing

Use structured data operators for SQL-like transformations:

  • Data Transform: Visual SQL editor for complex transformations
  • Aggregation Node: GROUP BY with aggregation functions
  • Join Node: INNER, LEFT, RIGHT, FULL joins
  • Projection Node: Column selection and renaming
  • Union Node: Combine multiple datasets
  • Case Node: Conditional logic

Reference: See references/structured-data-operators.md for configuration.

Data Transformation Language

DTL provides SQL-like functions for data processing:

Function Categories:

  • String: CONCAT, SUBSTRING, UPPER, LOWER, TRIM, REPLACE
  • Numeric: ABS, CEIL, FLOOR, ROUND, MOD, POWER
  • Date/Time: ADDDAYS, MONTHSBETWEEN, EXTRACT, CURRENT_UTCTIMESTAMP
  • Conversion: TODATE, TOSTRING, TOINTEGER, TODECIMAL
  • Miscellaneous: CASE, COALESCE, IFNULL, NULLIF

Reference: See references/dtl-functions.md for complete reference.

Best Practices

Graph Design

  1. Choose Generation Early: Decide Gen1 vs Gen2 before building
  2. Minimize Cross-Engine Communication: Group operators by subengine
  3. Use Appropriate Port Types: Match data types for efficient transfer
  4. Enable Snapshots: For Gen2 graphs, enable auto-recovery
  5. Validate Before Execution: Always validate graphs

Operator Development

  1. Start with Built-in Operators: Use predefined operators first
  2. Extend When Needed: Create custom operators for specific needs
  3. Use Script Operators: For quick prototyping with Python/JS
  4. Version Your Operators: Track changes with operator versions
  5. Document Configuration: Describe all parameters

Replication Flows

  1. Plan Target Schema: Understand target structure requirements
  2. Use Filters: Reduce data volume with source filters
  3. Handle Duplicates: Configure for exactly-once when possible
  4. Monitor Execution: Track progress and errors
  5. Clean Up Artifacts: Remove source artifacts after completion

ML Scenarios

  1. Version Early: Create versions before major changes
  2. Track All Metrics: Use SDK for comprehensive tracking
  3. Use Notebooks for Exploration: JupyterLab for experimentation
  4. Productionize with Pipelines: Convert notebooks to pipelines
  5. Export/Import for Migration: Use ZIP export for transfers

Error Handling

Common Graph Errors

ErrorCauseSolution
Port type mismatchIncompatible data typesUse converter operator or matching types
Gen1/Gen2 mixingCombined operator generationsUse single generation per graph
Resource exhaustionInsufficient memory/CPUAdjust resource requirements
Connection failureNetwork or credentialsVerify connection settings
Validation errorsInvalid configurationReview error messages, fix config

Recovery Strategies

Gen2 Graphs:

  • Enable automatic recovery in graph settings
  • Configure snapshot intervals
  • Monitor recovery status

Gen1 Graphs:

  • Implement manual error handling in operators
  • Use try-catch in script operators
  • Configure retry logic

Reference Files

For detailed information, see:

  • references/operators-reference.md - Complete operator catalog (266 operators)
  • references/abap-integration.md - ABAP/S4HANA/BW integration with SAP Notes
  • references/structured-data-operators.md - Structured data processing
  • references/dtl-functions.md - Data Transformation Language (79 functions)
  • references/ml-scenario-manager.md - ML Scenario Manager, SDK, artifacts
  • references/subengines.md - Python, Node.js, C++ subengine development
  • references/graphs-pipelines.md - Graph execution, snapshots, recovery
  • references/replication-flows.md - Replication flows, cloud storage, Kafka
  • references/data-workflow.md - Data workflow operators, orchestration
  • references/security-cdc.md - Security, data protection, CDC methods
  • references/additional-features.md - Monitoring, cloud storage services, scenario templates, data types, Git terminal
  • references/modeling-advanced.md - Graph snippets, SAP cloud apps, configuration types, 141 graph templates

Templates

Starter templates are available in templates/:

  • templates/basic-graph.json - Simple data processing graph
  • templates/replication-flow.json - Data replication pattern
  • templates/ml-training-pipeline.json - ML training workflow

Documentation Links

Primary Sources:

Section-Specific:

Bundled Resources

Reference Documentation

  • references/abap-integration.md - ABAP system integration guide
  • references/ml-scenario-manager.md - Machine Learning scenario manager
  • references/replication-flows.md - Data replication flow configuration
  • references/operators-reference.md - Complete operators reference
  • references/dtl-functions.md - Data Transformation Language functions
  • references/modeling-advanced.md - Advanced modeling techniques
  • references/structured-data-operators.md - Structured data operators guide

Documentation Links

Version Information

  • Last Updated: 2025-11-27
  • Evidence Status: Stale docs-only guidance; source refresh and live tenant/runtime checks pending
  • Documentation Source: SAP-docs/sap-hana-cloud-data-intelligence (GitHub)
z tego samego repozytorium

Więcej Skills

Wszystkie Skills
secondsky
Społeczność

sap-fiori-tools

Develops SAP Fiori applications using SAP Fiori tools extensions for VS Code and SAP Business Application Studio. Use when: generating Fiori Elements or Freestyle SAPUI5 applications, configuring Page Editor for List Report or Object Page, working with annotations and Service Modeler, setting up deployment to ABAP or Cloud Foundry, creating adaptation projects, using Guided Development, previewing with mock data or live data, configuring SAP Fiori launchpad, or using AI-powered generation with P

instalacje
1
GitHub Stars
462
Aktualizacja
5 paź
secondsky
Społeczność

dependency-upgrade

Secure dependency upgrades with supply chain protection, cooldowns, and staged rollout. Use when upgrading deps, configuring security policies, or preventing supply chain attacks.

instalacje
1
GitHub Stars
458
Aktualizacja
28 wrz
secondsky
Społeczność

sap-ai-core

Guides development with SAP AI Core and SAP AI Launchpad for enterprise AI/ML workloads on SAP BTP. Use when: deploying generative AI models, building orchestration workflows with templating/filtering/grounding, implementing RAG with vector databases, managing ML training pipelines with Argo Workflows, configuring content filtering and data masking for PII protection, using the Generative AI Hub for prompt experimentation, managing prompt templates via the Prompt Registry, or integrating AI capa

instalacje
1
GitHub Stars
458
Aktualizacja
28 wrz
secondsky
Społeczność

sap-btp-cloud-transport-management

Comprehensive skill for SAP Cloud Transport Management service on SAP BTP. Use when setting up transport landscapes, configuring transport nodes and routes, managing import queues, deploying MTAs across Cloud Foundry environments, integrating with CI/CD pipelines, configuring ABAP environment transports, troubleshooting deployment errors, or implementing change management workflows. Covers entitlements, subscriptions, role collections, service instances, destinations, and API integrations.

instalacje
1
GitHub Stars
458
Aktualizacja
28 wrz