[
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)