:doc:`Glue <../../glue>` / Client / update_column_statistics_for_table

**********************************
update_column_statistics_for_table
**********************************



.. py:method:: Glue.Client.update_column_statistics_for_table(**kwargs)

  

  Creates or updates table statistics of columns.

   

  The Identity and Access Management (IAM) permission required for this operation is ``UpdateTable``.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateColumnStatisticsForTable>`_  


  **Request Syntax**
  ::

    response = client.update_column_statistics_for_table(
        CatalogId='string',
        DatabaseName='string',
        TableName='string',
        ColumnStatisticsList=[
            {
                'ColumnName': 'string',
                'ColumnType': 'string',
                'AnalyzedTime': datetime(2015, 1, 1),
                'StatisticsData': {
                    'Type': 'BOOLEAN'|'DATE'|'DECIMAL'|'DOUBLE'|'LONG'|'STRING'|'BINARY',
                    'BooleanColumnStatisticsData': {
                        'NumberOfTrues': 123,
                        'NumberOfFalses': 123,
                        'NumberOfNulls': 123
                    },
                    'DateColumnStatisticsData': {
                        'MinimumValue': datetime(2015, 1, 1),
                        'MaximumValue': datetime(2015, 1, 1),
                        'NumberOfNulls': 123,
                        'NumberOfDistinctValues': 123
                    },
                    'DecimalColumnStatisticsData': {
                        'MinimumValue': {
                            'UnscaledValue': b'bytes',
                            'Scale': 123
                        },
                        'MaximumValue': {
                            'UnscaledValue': b'bytes',
                            'Scale': 123
                        },
                        'NumberOfNulls': 123,
                        'NumberOfDistinctValues': 123
                    },
                    'DoubleColumnStatisticsData': {
                        'MinimumValue': 123.0,
                        'MaximumValue': 123.0,
                        'NumberOfNulls': 123,
                        'NumberOfDistinctValues': 123
                    },
                    'LongColumnStatisticsData': {
                        'MinimumValue': 123,
                        'MaximumValue': 123,
                        'NumberOfNulls': 123,
                        'NumberOfDistinctValues': 123
                    },
                    'StringColumnStatisticsData': {
                        'MaximumLength': 123,
                        'AverageLength': 123.0,
                        'NumberOfNulls': 123,
                        'NumberOfDistinctValues': 123
                    },
                    'BinaryColumnStatisticsData': {
                        'MaximumLength': 123,
                        'AverageLength': 123.0,
                        'NumberOfNulls': 123
                    }
                }
            },
        ]
    )
    
  :type CatalogId: string
  :param CatalogId: 

    The ID of the Data Catalog where the partitions in question reside. If none is supplied, the Amazon Web Services account ID is used by default.

    

  
  :type DatabaseName: string
  :param DatabaseName: **[REQUIRED]** 

    The name of the catalog database where the partitions reside.

    

  
  :type TableName: string
  :param TableName: **[REQUIRED]** 

    The name of the partitions' table.

    

  
  :type ColumnStatisticsList: list
  :param ColumnStatisticsList: **[REQUIRED]** 

    A list of the column statistics.

    

  
    - *(dict) --* 

      Represents the generated column-level statistics for a table or partition.

      

    
      - **ColumnName** *(string) --* **[REQUIRED]** 

        Name of column which statistics belong to.

        

      
      - **ColumnType** *(string) --* **[REQUIRED]** 

        The data type of the column.

        

      
      - **AnalyzedTime** *(datetime) --* **[REQUIRED]** 

        The timestamp of when column statistics were generated.

        

      
      - **StatisticsData** *(dict) --* **[REQUIRED]** 

        A ``ColumnStatisticData`` object that contains the statistics data values.

        

      
        - **Type** *(string) --* **[REQUIRED]** 

          The type of column statistics data.

          

        
        - **BooleanColumnStatisticsData** *(dict) --* 

          Boolean column statistics data.

          

        
          - **NumberOfTrues** *(integer) --* **[REQUIRED]** 

            The number of true values in the column.

            

          
          - **NumberOfFalses** *(integer) --* **[REQUIRED]** 

            The number of false values in the column.

            

          
          - **NumberOfNulls** *(integer) --* **[REQUIRED]** 

            The number of null values in the column.

            

          
        
        - **DateColumnStatisticsData** *(dict) --* 

          Date column statistics data.

          

        
          - **MinimumValue** *(datetime) --* 

            The lowest value in the column.

            

          
          - **MaximumValue** *(datetime) --* 

            The highest value in the column.

            

          
          - **NumberOfNulls** *(integer) --* **[REQUIRED]** 

            The number of null values in the column.

            

          
          - **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** 

            The number of distinct values in a column.

            

          
        
        - **DecimalColumnStatisticsData** *(dict) --* 

          Decimal column statistics data. UnscaledValues within are Base64-encoded binary objects storing big-endian, two's complement representations of the decimal's unscaled value.

          

        
          - **MinimumValue** *(dict) --* 

            The lowest value in the column.

            

          
            - **UnscaledValue** *(bytes) --* **[REQUIRED]** 

              The unscaled numeric value.

              

            
            - **Scale** *(integer) --* **[REQUIRED]** 

              The scale that determines where the decimal point falls in the unscaled value.

              

            
          
          - **MaximumValue** *(dict) --* 

            The highest value in the column.

            

          
            - **UnscaledValue** *(bytes) --* **[REQUIRED]** 

              The unscaled numeric value.

              

            
            - **Scale** *(integer) --* **[REQUIRED]** 

              The scale that determines where the decimal point falls in the unscaled value.

              

            
          
          - **NumberOfNulls** *(integer) --* **[REQUIRED]** 

            The number of null values in the column.

            

          
          - **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** 

            The number of distinct values in a column.

            

          
        
        - **DoubleColumnStatisticsData** *(dict) --* 

          Double column statistics data.

          

        
          - **MinimumValue** *(float) --* 

            The lowest value in the column.

            

          
          - **MaximumValue** *(float) --* 

            The highest value in the column.

            

          
          - **NumberOfNulls** *(integer) --* **[REQUIRED]** 

            The number of null values in the column.

            

          
          - **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** 

            The number of distinct values in a column.

            

          
        
        - **LongColumnStatisticsData** *(dict) --* 

          Long column statistics data.

          

        
          - **MinimumValue** *(integer) --* 

            The lowest value in the column.

            

          
          - **MaximumValue** *(integer) --* 

            The highest value in the column.

            

          
          - **NumberOfNulls** *(integer) --* **[REQUIRED]** 

            The number of null values in the column.

            

          
          - **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** 

            The number of distinct values in a column.

            

          
        
        - **StringColumnStatisticsData** *(dict) --* 

          String column statistics data.

          

        
          - **MaximumLength** *(integer) --* **[REQUIRED]** 

            The size of the longest string in the column.

            

          
          - **AverageLength** *(float) --* **[REQUIRED]** 

            The average string length in the column.

            

          
          - **NumberOfNulls** *(integer) --* **[REQUIRED]** 

            The number of null values in the column.

            

          
          - **NumberOfDistinctValues** *(integer) --* **[REQUIRED]** 

            The number of distinct values in a column.

            

          
        
        - **BinaryColumnStatisticsData** *(dict) --* 

          Binary column statistics data.

          

        
          - **MaximumLength** *(integer) --* **[REQUIRED]** 

            The size of the longest bit sequence in the column.

            

          
          - **AverageLength** *(float) --* **[REQUIRED]** 

            The average bit sequence length in the column.

            

          
          - **NumberOfNulls** *(integer) --* **[REQUIRED]** 

            The number of null values in the column.

            

          
        
      
    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Errors': [
              {
                  'ColumnStatistics': {
                      'ColumnName': 'string',
                      'ColumnType': 'string',
                      'AnalyzedTime': datetime(2015, 1, 1),
                      'StatisticsData': {
                          'Type': 'BOOLEAN'|'DATE'|'DECIMAL'|'DOUBLE'|'LONG'|'STRING'|'BINARY',
                          'BooleanColumnStatisticsData': {
                              'NumberOfTrues': 123,
                              'NumberOfFalses': 123,
                              'NumberOfNulls': 123
                          },
                          'DateColumnStatisticsData': {
                              'MinimumValue': datetime(2015, 1, 1),
                              'MaximumValue': datetime(2015, 1, 1),
                              'NumberOfNulls': 123,
                              'NumberOfDistinctValues': 123
                          },
                          'DecimalColumnStatisticsData': {
                              'MinimumValue': {
                                  'UnscaledValue': b'bytes',
                                  'Scale': 123
                              },
                              'MaximumValue': {
                                  'UnscaledValue': b'bytes',
                                  'Scale': 123
                              },
                              'NumberOfNulls': 123,
                              'NumberOfDistinctValues': 123
                          },
                          'DoubleColumnStatisticsData': {
                              'MinimumValue': 123.0,
                              'MaximumValue': 123.0,
                              'NumberOfNulls': 123,
                              'NumberOfDistinctValues': 123
                          },
                          'LongColumnStatisticsData': {
                              'MinimumValue': 123,
                              'MaximumValue': 123,
                              'NumberOfNulls': 123,
                              'NumberOfDistinctValues': 123
                          },
                          'StringColumnStatisticsData': {
                              'MaximumLength': 123,
                              'AverageLength': 123.0,
                              'NumberOfNulls': 123,
                              'NumberOfDistinctValues': 123
                          },
                          'BinaryColumnStatisticsData': {
                              'MaximumLength': 123,
                              'AverageLength': 123.0,
                              'NumberOfNulls': 123
                          }
                      }
                  },
                  'Error': {
                      'ErrorCode': 'string',
                      'ErrorMessage': 'string'
                  }
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Errors** *(list) --* 

        List of ColumnStatisticsErrors.

        
        

        - *(dict) --* 

          Encapsulates a ``ColumnStatistics`` object that failed and the reason for failure.

          
          

          - **ColumnStatistics** *(dict) --* 

            The ``ColumnStatistics`` of the column.

            
            

            - **ColumnName** *(string) --* 

              Name of column which statistics belong to.

              
            

            - **ColumnType** *(string) --* 

              The data type of the column.

              
            

            - **AnalyzedTime** *(datetime) --* 

              The timestamp of when column statistics were generated.

              
            

            - **StatisticsData** *(dict) --* 

              A ``ColumnStatisticData`` object that contains the statistics data values.

              
              

              - **Type** *(string) --* 

                The type of column statistics data.

                
              

              - **BooleanColumnStatisticsData** *(dict) --* 

                Boolean column statistics data.

                
                

                - **NumberOfTrues** *(integer) --* 

                  The number of true values in the column.

                  
                

                - **NumberOfFalses** *(integer) --* 

                  The number of false values in the column.

                  
                

                - **NumberOfNulls** *(integer) --* 

                  The number of null values in the column.

                  
            
              

              - **DateColumnStatisticsData** *(dict) --* 

                Date column statistics data.

                
                

                - **MinimumValue** *(datetime) --* 

                  The lowest value in the column.

                  
                

                - **MaximumValue** *(datetime) --* 

                  The highest value in the column.

                  
                

                - **NumberOfNulls** *(integer) --* 

                  The number of null values in the column.

                  
                

                - **NumberOfDistinctValues** *(integer) --* 

                  The number of distinct values in a column.

                  
            
              

              - **DecimalColumnStatisticsData** *(dict) --* 

                Decimal column statistics data. UnscaledValues within are Base64-encoded binary objects storing big-endian, two's complement representations of the decimal's unscaled value.

                
                

                - **MinimumValue** *(dict) --* 

                  The lowest value in the column.

                  
                  

                  - **UnscaledValue** *(bytes) --* 

                    The unscaled numeric value.

                    
                  

                  - **Scale** *(integer) --* 

                    The scale that determines where the decimal point falls in the unscaled value.

                    
              
                

                - **MaximumValue** *(dict) --* 

                  The highest value in the column.

                  
                  

                  - **UnscaledValue** *(bytes) --* 

                    The unscaled numeric value.

                    
                  

                  - **Scale** *(integer) --* 

                    The scale that determines where the decimal point falls in the unscaled value.

                    
              
                

                - **NumberOfNulls** *(integer) --* 

                  The number of null values in the column.

                  
                

                - **NumberOfDistinctValues** *(integer) --* 

                  The number of distinct values in a column.

                  
            
              

              - **DoubleColumnStatisticsData** *(dict) --* 

                Double column statistics data.

                
                

                - **MinimumValue** *(float) --* 

                  The lowest value in the column.

                  
                

                - **MaximumValue** *(float) --* 

                  The highest value in the column.

                  
                

                - **NumberOfNulls** *(integer) --* 

                  The number of null values in the column.

                  
                

                - **NumberOfDistinctValues** *(integer) --* 

                  The number of distinct values in a column.

                  
            
              

              - **LongColumnStatisticsData** *(dict) --* 

                Long column statistics data.

                
                

                - **MinimumValue** *(integer) --* 

                  The lowest value in the column.

                  
                

                - **MaximumValue** *(integer) --* 

                  The highest value in the column.

                  
                

                - **NumberOfNulls** *(integer) --* 

                  The number of null values in the column.

                  
                

                - **NumberOfDistinctValues** *(integer) --* 

                  The number of distinct values in a column.

                  
            
              

              - **StringColumnStatisticsData** *(dict) --* 

                String column statistics data.

                
                

                - **MaximumLength** *(integer) --* 

                  The size of the longest string in the column.

                  
                

                - **AverageLength** *(float) --* 

                  The average string length in the column.

                  
                

                - **NumberOfNulls** *(integer) --* 

                  The number of null values in the column.

                  
                

                - **NumberOfDistinctValues** *(integer) --* 

                  The number of distinct values in a column.

                  
            
              

              - **BinaryColumnStatisticsData** *(dict) --* 

                Binary column statistics data.

                
                

                - **MaximumLength** *(integer) --* 

                  The size of the longest bit sequence in the column.

                  
                

                - **AverageLength** *(float) --* 

                  The average bit sequence length in the column.

                  
                

                - **NumberOfNulls** *(integer) --* 

                  The number of null values in the column.

                  
            
          
        
          

          - **Error** *(dict) --* 

            An error message with the reason for the failure of an operation.

            
            

            - **ErrorCode** *(string) --* 

              The code associated with this error.

              
            

            - **ErrorMessage** *(string) --* 

              A message describing the error.

              
        
      
    
  
  **Exceptions**
  
  *   :py:class:`Glue.Client.exceptions.EntityNotFoundException`

  
  *   :py:class:`Glue.Client.exceptions.InvalidInputException`

  
  *   :py:class:`Glue.Client.exceptions.InternalServiceException`

  
  *   :py:class:`Glue.Client.exceptions.OperationTimeoutException`

  
  *   :py:class:`Glue.Client.exceptions.GlueEncryptionException`

  