[ 
https://issues.apache.org/jira/browse/NIFI-14488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Salvatore Vignera updated NIFI-14488:
-------------------------------------
    Description: 
*+ENGLISH+*

Since the deprecation of the *ConvertJSONToSQL* processor in {*}Apache NiFi 
2.3.0{*}, I’m missing a key functionality that allowed me to efficiently write 
data to a {*}HANA database{*}.

While the old processor didn’t support native *UPSERT* operations, it was able 
to automatically retrieve the {*}table definition from the database{*}. Based 
on this metadata, it generated a complete {*}SQL INSERT statement{*}, which I 
could then manually extend to a HANA-compatible UPSERT. This was an extremely 
helpful foundation for working dynamically and independently of specific tables.

With the current alternatives (e.g. {*}PutDatabaseRecord{*}), this exact 
capability is missing: the schema of the target table must be defined manually 
or retrieved outside of NiFi. For dynamic flows involving frequently changing 
tables, this is very inconvenient.

{*}My suggestion for improvement{*}:
It would be extremely helpful if a new or existing processor could be enhanced 
with the ability to *automatically read the target table’s definition* from the 
database – ideally with the following options:
 * Automatic mapping of JSON fields to table columns (similar to 
ConvertJSONToSQL)

 * Optional generation of a base INSERT statement (e.g. as a FlowFile attribute 
or SQL text)

 * Possibility for downstream customization, such as UPSERT logic or 
HANA-specific SQL dialects

Thank you for continuing to develop and support the platform!

 

====================================================================================

+*GERMAN*+

Seit der Deprecation des Prozessors {{ConvertJSONToSQL}} in Apache NiFi 2.3.0 
fehlt mir eine zentrale Funktionalität, um weiterhin effizient Daten in eine 
HANA-Datenbank zu schreiben.

Zwar hat der alte Prozessor kein natives UPSERT unterstützt, jedoch konnte ich 
damit die Tabellendefinition direkt aus der Datenbank auslesen lassen. Auf 
Basis dieser Metadaten wurde ein vollständiges SQL-INSERT-Statement erzeugt - 
das ich dann manuell zu einem HANA-kompatiblen UPSERT erweitert habe. Das war 
eine sehr hilfreiche Grundlage, um dynamisch und tabellenunabhängig zu arbeiten.

Mit den aktuellen Alternativen (z. B. {{{}PutDatabaseRecord{}}}) fehlt genau 
diese Möglichkeit: Das Schema der Zieltabelle muss manuell definiert oder 
außerhalb von NiFi ermittelt werden. Für dynamische Flows mit häufig 
wechselnden Tabellen ist das sehr unpraktisch.

*Mein Verbesserungsvorschlag:* Es wäre äußerst hilfreich, wenn ein neuer oder 
bestehender Prozessor die Möglichkeit bekäme, die Tabellendefinition einer 
Zieltabelle automatisch aus der Datenbank auszulesen - idealerweise mit 
folgenden Optionen:
 * Automatisches Mapping der JSON-Felder auf die Tabellenspalten (analog zu 
{{{}ConvertJSONToSQL{}}}).

 * Optionales Generieren eines Basis-INSERT-Statements (ggf. als 
FlowFile-Attribut oder SQL-Text).

 * Möglichkeit zur nachgelagerten Anpassung, z. B. für UPSERT oder 
HANA-spezifische SQL-Dialekte.

Vielen Dank für die Weiterentwicklung und euren Einsatz für die Plattform!

 

 

  was:
Seit der Deprecation des Prozessors {{ConvertJSONToSQL}} in Apache NiFi 2.3.0 
fehlt mir eine zentrale Funktionalität, um weiterhin effizient Daten in eine 
HANA-Datenbank zu schreiben.

Zwar hat der alte Prozessor kein natives UPSERT unterstützt, jedoch konnte ich 
damit die Tabellendefinition direkt aus der Datenbank auslesen lassen. Auf 
Basis dieser Metadaten wurde ein vollständiges SQL-INSERT-Statement erzeugt - 
das ich dann manuell zu einem HANA-kompatiblen UPSERT erweitert habe. Das war 
eine sehr hilfreiche Grundlage, um dynamisch und tabellenunabhängig zu arbeiten.

Mit den aktuellen Alternativen (z. B. {{{}PutDatabaseRecord{}}}) fehlt genau 
diese Möglichkeit: Das Schema der Zieltabelle muss manuell definiert oder 
außerhalb von NiFi ermittelt werden. Für dynamische Flows mit häufig 
wechselnden Tabellen ist das sehr unpraktisch.

*Mein Verbesserungsvorschlag:* Es wäre äußerst hilfreich, wenn ein neuer oder 
bestehender Prozessor die Möglichkeit bekäme, die Tabellendefinition einer 
Zieltabelle automatisch aus der Datenbank auszulesen - idealerweise mit 
folgenden Optionen:
 * Automatisches Mapping der JSON-Felder auf die Tabellenspalten (analog zu 
{{{}ConvertJSONToSQL{}}}).

 * Optionales Generieren eines Basis-INSERT-Statements (ggf. als 
FlowFile-Attribut oder SQL-Text).

 * Möglichkeit zur nachgelagerten Anpassung, z. B. für UPSERT oder 
HANA-spezifische SQL-Dialekte.

Vielen Dank für die Weiterentwicklung und euren Einsatz für die Plattform!


> Alternative zu ConvertJSONToSQL nach Deprecation in NiFi 2.3.0 für 
> HANA-Datenbanken
> -----------------------------------------------------------------------------------
>
>                 Key: NIFI-14488
>                 URL: https://issues.apache.org/jira/browse/NIFI-14488
>             Project: Apache NiFi
>          Issue Type: Wish
>          Components: NiFi Stateless
>    Affects Versions: 2.3.0
>            Reporter: Salvatore Vignera
>            Priority: Critical
>              Labels: ConvertJSONToSQL
>
> *+ENGLISH+*
> Since the deprecation of the *ConvertJSONToSQL* processor in {*}Apache NiFi 
> 2.3.0{*}, I’m missing a key functionality that allowed me to efficiently 
> write data to a {*}HANA database{*}.
> While the old processor didn’t support native *UPSERT* operations, it was 
> able to automatically retrieve the {*}table definition from the database{*}. 
> Based on this metadata, it generated a complete {*}SQL INSERT statement{*}, 
> which I could then manually extend to a HANA-compatible UPSERT. This was an 
> extremely helpful foundation for working dynamically and independently of 
> specific tables.
> With the current alternatives (e.g. {*}PutDatabaseRecord{*}), this exact 
> capability is missing: the schema of the target table must be defined 
> manually or retrieved outside of NiFi. For dynamic flows involving frequently 
> changing tables, this is very inconvenient.
> {*}My suggestion for improvement{*}:
> It would be extremely helpful if a new or existing processor could be 
> enhanced with the ability to *automatically read the target table’s 
> definition* from the database – ideally with the following options:
>  * Automatic mapping of JSON fields to table columns (similar to 
> ConvertJSONToSQL)
>  * Optional generation of a base INSERT statement (e.g. as a FlowFile 
> attribute or SQL text)
>  * Possibility for downstream customization, such as UPSERT logic or 
> HANA-specific SQL dialects
> Thank you for continuing to develop and support the platform!
>  
> ====================================================================================
> +*GERMAN*+
> Seit der Deprecation des Prozessors {{ConvertJSONToSQL}} in Apache NiFi 2.3.0 
> fehlt mir eine zentrale Funktionalität, um weiterhin effizient Daten in eine 
> HANA-Datenbank zu schreiben.
> Zwar hat der alte Prozessor kein natives UPSERT unterstützt, jedoch konnte 
> ich damit die Tabellendefinition direkt aus der Datenbank auslesen lassen. 
> Auf Basis dieser Metadaten wurde ein vollständiges SQL-INSERT-Statement 
> erzeugt - das ich dann manuell zu einem HANA-kompatiblen UPSERT erweitert 
> habe. Das war eine sehr hilfreiche Grundlage, um dynamisch und 
> tabellenunabhängig zu arbeiten.
> Mit den aktuellen Alternativen (z. B. {{{}PutDatabaseRecord{}}}) fehlt genau 
> diese Möglichkeit: Das Schema der Zieltabelle muss manuell definiert oder 
> außerhalb von NiFi ermittelt werden. Für dynamische Flows mit häufig 
> wechselnden Tabellen ist das sehr unpraktisch.
> *Mein Verbesserungsvorschlag:* Es wäre äußerst hilfreich, wenn ein neuer oder 
> bestehender Prozessor die Möglichkeit bekäme, die Tabellendefinition einer 
> Zieltabelle automatisch aus der Datenbank auszulesen - idealerweise mit 
> folgenden Optionen:
>  * Automatisches Mapping der JSON-Felder auf die Tabellenspalten (analog zu 
> {{{}ConvertJSONToSQL{}}}).
>  * Optionales Generieren eines Basis-INSERT-Statements (ggf. als 
> FlowFile-Attribut oder SQL-Text).
>  * Möglichkeit zur nachgelagerten Anpassung, z. B. für UPSERT oder 
> HANA-spezifische SQL-Dialekte.
> Vielen Dank für die Weiterentwicklung und euren Einsatz für die Plattform!
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to