Split Nifi Attribute Value To Multiple Attributes





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I have a file which i get using the GetFile Processor.



The flowfile generated from this has an attribute (filename).



I want to split this "filename" attribute with value "ABC_gh_1245_ty.csv" by "_" into multiple attributes



ATTR1 = "ABC"
ATTR2 = "gh"
ATTR3 = "1245"
ATTR4 = "ty.csv"


I presume that there are no processors available for this functionality in nifi 1.7.1



I googled and found this custom processor:
https://github.com/guvencenanguvenal/nifi-splitcreateattribute



It still doesnt work. It errors out with 'Attribuite dont found'










share|improve this question





























    0















    I have a file which i get using the GetFile Processor.



    The flowfile generated from this has an attribute (filename).



    I want to split this "filename" attribute with value "ABC_gh_1245_ty.csv" by "_" into multiple attributes



    ATTR1 = "ABC"
    ATTR2 = "gh"
    ATTR3 = "1245"
    ATTR4 = "ty.csv"


    I presume that there are no processors available for this functionality in nifi 1.7.1



    I googled and found this custom processor:
    https://github.com/guvencenanguvenal/nifi-splitcreateattribute



    It still doesnt work. It errors out with 'Attribuite dont found'










    share|improve this question

























      0












      0








      0








      I have a file which i get using the GetFile Processor.



      The flowfile generated from this has an attribute (filename).



      I want to split this "filename" attribute with value "ABC_gh_1245_ty.csv" by "_" into multiple attributes



      ATTR1 = "ABC"
      ATTR2 = "gh"
      ATTR3 = "1245"
      ATTR4 = "ty.csv"


      I presume that there are no processors available for this functionality in nifi 1.7.1



      I googled and found this custom processor:
      https://github.com/guvencenanguvenal/nifi-splitcreateattribute



      It still doesnt work. It errors out with 'Attribuite dont found'










      share|improve this question














      I have a file which i get using the GetFile Processor.



      The flowfile generated from this has an attribute (filename).



      I want to split this "filename" attribute with value "ABC_gh_1245_ty.csv" by "_" into multiple attributes



      ATTR1 = "ABC"
      ATTR2 = "gh"
      ATTR3 = "1245"
      ATTR4 = "ty.csv"


      I presume that there are no processors available for this functionality in nifi 1.7.1



      I googled and found this custom processor:
      https://github.com/guvencenanguvenal/nifi-splitcreateattribute



      It still doesnt work. It errors out with 'Attribuite dont found'







      java split attributes apache-nifi






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 4 at 7:41









      blackfuryblackfury

      234315




      234315
























          2 Answers
          2






          active

          oldest

          votes


















          2














          To solve this, you can leverage ExecuteScript or ExecuteGroovyScript processor. The following scrip would do the job just fine. It is written in Groovy though.



          flowFile = session.get()

          if (!flowFile)
          return

          filename = flowFile.getAttribute('filename')
          splits = filename.split('_')
          attrsMap = [:]

          splits.eachWithIndex {
          split, index -> attrsMap.put("ATTR" + index, split)
          }

          attrsMap.each{ k, v -> println "${k}:${v}" }
          flowFile = session.putAllAttributes(flowFile, attrsMap)
          session.transfer(flowFile, REL_SUCCESS)


          Screenshots



          enter image description here



          enter image description here



          enter image description here






          share|improve this answer

































            0














            The below processor works perfectly fine...



            https://github.com/guvencenanguvenal/nifi-splitcreateattribute



            Below is the config needed:



            Split Attributes Name: ATTR1, ATTR2, ATTR3, ATTR4
            Attribute Name Which Split: filename
            Split Separator (Regex): _






            share|improve this answer
























              Your Answer






              StackExchange.ifUsing("editor", function () {
              StackExchange.using("externalEditor", function () {
              StackExchange.using("snippets", function () {
              StackExchange.snippets.init();
              });
              });
              }, "code-snippets");

              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "1"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54034846%2fsplit-nifi-attribute-value-to-multiple-attributes%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              2














              To solve this, you can leverage ExecuteScript or ExecuteGroovyScript processor. The following scrip would do the job just fine. It is written in Groovy though.



              flowFile = session.get()

              if (!flowFile)
              return

              filename = flowFile.getAttribute('filename')
              splits = filename.split('_')
              attrsMap = [:]

              splits.eachWithIndex {
              split, index -> attrsMap.put("ATTR" + index, split)
              }

              attrsMap.each{ k, v -> println "${k}:${v}" }
              flowFile = session.putAllAttributes(flowFile, attrsMap)
              session.transfer(flowFile, REL_SUCCESS)


              Screenshots



              enter image description here



              enter image description here



              enter image description here






              share|improve this answer






























                2














                To solve this, you can leverage ExecuteScript or ExecuteGroovyScript processor. The following scrip would do the job just fine. It is written in Groovy though.



                flowFile = session.get()

                if (!flowFile)
                return

                filename = flowFile.getAttribute('filename')
                splits = filename.split('_')
                attrsMap = [:]

                splits.eachWithIndex {
                split, index -> attrsMap.put("ATTR" + index, split)
                }

                attrsMap.each{ k, v -> println "${k}:${v}" }
                flowFile = session.putAllAttributes(flowFile, attrsMap)
                session.transfer(flowFile, REL_SUCCESS)


                Screenshots



                enter image description here



                enter image description here



                enter image description here






                share|improve this answer




























                  2












                  2








                  2







                  To solve this, you can leverage ExecuteScript or ExecuteGroovyScript processor. The following scrip would do the job just fine. It is written in Groovy though.



                  flowFile = session.get()

                  if (!flowFile)
                  return

                  filename = flowFile.getAttribute('filename')
                  splits = filename.split('_')
                  attrsMap = [:]

                  splits.eachWithIndex {
                  split, index -> attrsMap.put("ATTR" + index, split)
                  }

                  attrsMap.each{ k, v -> println "${k}:${v}" }
                  flowFile = session.putAllAttributes(flowFile, attrsMap)
                  session.transfer(flowFile, REL_SUCCESS)


                  Screenshots



                  enter image description here



                  enter image description here



                  enter image description here






                  share|improve this answer















                  To solve this, you can leverage ExecuteScript or ExecuteGroovyScript processor. The following scrip would do the job just fine. It is written in Groovy though.



                  flowFile = session.get()

                  if (!flowFile)
                  return

                  filename = flowFile.getAttribute('filename')
                  splits = filename.split('_')
                  attrsMap = [:]

                  splits.eachWithIndex {
                  split, index -> attrsMap.put("ATTR" + index, split)
                  }

                  attrsMap.each{ k, v -> println "${k}:${v}" }
                  flowFile = session.putAllAttributes(flowFile, attrsMap)
                  session.transfer(flowFile, REL_SUCCESS)


                  Screenshots



                  enter image description here



                  enter image description here



                  enter image description here







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Jan 4 at 9:06

























                  answered Jan 4 at 9:01









                  Sivaprasanna SethuramanSivaprasanna Sethuraman

                  2,61011743




                  2,61011743

























                      0














                      The below processor works perfectly fine...



                      https://github.com/guvencenanguvenal/nifi-splitcreateattribute



                      Below is the config needed:



                      Split Attributes Name: ATTR1, ATTR2, ATTR3, ATTR4
                      Attribute Name Which Split: filename
                      Split Separator (Regex): _






                      share|improve this answer




























                        0














                        The below processor works perfectly fine...



                        https://github.com/guvencenanguvenal/nifi-splitcreateattribute



                        Below is the config needed:



                        Split Attributes Name: ATTR1, ATTR2, ATTR3, ATTR4
                        Attribute Name Which Split: filename
                        Split Separator (Regex): _






                        share|improve this answer


























                          0












                          0








                          0







                          The below processor works perfectly fine...



                          https://github.com/guvencenanguvenal/nifi-splitcreateattribute



                          Below is the config needed:



                          Split Attributes Name: ATTR1, ATTR2, ATTR3, ATTR4
                          Attribute Name Which Split: filename
                          Split Separator (Regex): _






                          share|improve this answer













                          The below processor works perfectly fine...



                          https://github.com/guvencenanguvenal/nifi-splitcreateattribute



                          Below is the config needed:



                          Split Attributes Name: ATTR1, ATTR2, ATTR3, ATTR4
                          Attribute Name Which Split: filename
                          Split Separator (Regex): _







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Jan 4 at 8:52









                          blackfuryblackfury

                          234315




                          234315






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54034846%2fsplit-nifi-attribute-value-to-multiple-attributes%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Monofisismo

                              Angular Downloading a file using contenturl with Basic Authentication

                              Olmecas