<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: BigQuery schema issue in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/BigQuery-schema-issue/m-p/281920#M209662</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sadly I have still not solved this issue so hopefully some more information and a list of what I have been trying without success will help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is the json file in my flow file&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;{    
"Revenue_Label": "Dining Room",     
"StoreName": "STORE A",     
"Revenue_Id": "1",     
"Alteration_Flag": "False",     
"Order_Mode_Label": "DriveThru",     
"checkClosetime": "2019-10-24T13:43:19+13:00",     
"Alterations": [        {            
"Alteration_Product_Code": "211136",             
"Alteration_Product_Net_Amount": 0.0,             
"Altered_Product_Code": "211135",             
"Alteration_Product_Amount": 0.0,             
"Altered_Product_Name": "Burger",             
"Alteration_Product_Name": "Add Sauce",             
"Alteration_Product_Qty": 1.0        }    ],     
"StoreId": "1234",    
 "dob": "20191024",     
 "Order_Mode_Id": "3",     
 "checknumber": "54321"}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is the schema I am now using&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Revenue_Label"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"StoreName"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Revenue_Id"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Alteration_Flag"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Order_Mode_Label"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"checkClosetime"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"TIMESTAMP"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"REPEATED"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;    
   &lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Altertions"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;    
   &lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"RECORD"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;    
     &lt;SPAN class="str"&gt;"fields"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;[&lt;/SPAN&gt;      
                &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Alteration_Product_Code"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
                &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Alteration_Product_Net_Amount"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"FLOAT"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
                &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Altered_Product_Code"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
                &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Alteration_Product_Amount"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;  &lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"FLOAT"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
                &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Altered_Product_Name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
                &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Alteration_Product_Name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;  &lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
                &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Alteration_Product_Qty"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;   &lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"FLOAT"&lt;/SPAN&gt;      &lt;SPAN class="pun"&gt;}&lt;/SPAN&gt; 
                &lt;SPAN class="pun"&gt;]&lt;/SPAN&gt;  
    &lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;    
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"StoreId"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"dob"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"Order_Mode_Id"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;},&lt;/SPAN&gt;
  &lt;SPAN class="pun"&gt;{&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"mode"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"NULLABLE"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"name"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"checknumber"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;,&lt;/SPAN&gt;&lt;SPAN class="str"&gt;"type"&lt;/SPAN&gt;&lt;SPAN class="pun"&gt;:&lt;/SPAN&gt; &lt;SPAN class="str"&gt;"STRING"&lt;/SPAN&gt; &lt;SPAN class="pun"&gt;}&lt;/SPAN&gt;
 &lt;SPAN class="pun"&gt;]&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;What I have tried:&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Removed all the white spaces and carriage return characters from the json flowflie&lt;/LI&gt;&lt;LI&gt;Tried the array at the start and end of the json file and matched the BigQuery table to this.&lt;/LI&gt;&lt;LI&gt;Changed the Names of the items to not include underscores.&lt;/LI&gt;&lt;LI&gt;Built the insert one column at a time and only fails once the array is present.&lt;/LI&gt;&lt;LI&gt;Used the schema definition generated from Google Cloud BigQuery directly when using the utility "bq show --schema --format=prettyjson.&lt;/LI&gt;&lt;LI&gt;Defined the mode for each of the array items to REQUIRED instead of NULLABLE.&lt;/LI&gt;&lt;LI&gt;Removed all the white spaces and carriage return characters from the schema definition in the properties of the PutBigQueryBatch process in Nifi&lt;/LI&gt;&lt;LI&gt;Within Google BigQuery I created a table manually by importing the above json file and and having it auto detect the schema. Then pointed to this table in nifi&lt;/LI&gt;&lt;LI&gt;Within Google BigQuery I created a table manually by importing the above json file and and having it defining the schema myself using the above definition. Then pointed to this table in nifi&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;All resulted in getting the same error as stated above&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Note&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Elsewhere in my nifi process I successfully use the PutBigQueryBatch process and update the table. The difference being that json does not have an array present.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I really am at loss on how to solve this issue.&lt;/P&gt;&lt;P&gt;Thanks for any help forthcoming&lt;/P&gt;&lt;P&gt;Tim&lt;/P&gt;</description>
    <pubDate>Mon, 04 Nov 2019 01:29:26 GMT</pubDate>
    <dc:creator>TimManger</dc:creator>
    <dc:date>2019-11-04T01:29:26Z</dc:date>
  </channel>
</rss>

