Show your appreciation for Deephaven by starring us on GitHub.

  • Docs
  • Blog
  • ContactRequest Demo
Try Sandbox
Core EngineUI & DashboardsPlottingEnterprise
  • Introduction
  • Deephaven Overview
    • Quickstart
      • Overview
      • Get Started
      • Architecture Overview
      • Create Tables
      • Table Operations
      • Query Strings
      • Real-time Plots
      • Data I/O
      • Configure your Instance
      • Wrapping Up
      • Docker
      • Source code
      • Production application
      • Deephaven's design
      • Incremental update model
      • Live DAG
      • Table types
      • Core API design
      • Servers & clients
        • Static tables
        • Ring tables
        • Time tables
        • Input Tables
        • Convert add-only tables to blink tables
        • Write data to a real-time table
        • Generate tables with Groovy functions
        • Import CSV files
        • Export CSV files
        • The Deephaven CSV library
      • Arrow Flight
      • Iceberg
        • Kafka Overview
        • Basic terms
        • Connect to a Kafka stream
        • Write your own custom parser for Kafka
        • Supported Parquet formats
        • Import Parquet files
        • Export to Parquet
        • Parquet instructions
        • SQL queries in Deephaven
      • URI
        • Table listeners
      • Iterate over tables
      • Replay
      • Metadata
      • Select and create columns
      • Drop, move, and rename columns
      • Apply color formatting to columns
      • Filter
      • Sort
        • Keyed transpose
      • Merge
        • Group and ungroup data
        • Single aggregation
        • Multi-aggregation
        • Rolling aggregations
        • Exact and Relational Joins
        • Inexact, time-series, and range joins
      • Partition
      • Synchronize tables
      • Snapshot
        • Work with time
        • Work with calendars
        • Downsample data
      • Overview
        • Boolean & numeric
        • String & char
        • Date-time
        • Formulas
        • Filters
        • Operators
        • Casting
        • Ternary-if
        • Built-in constants
        • Built-in Variables
        • Built-in functions
        • Query Scope
        • Variables
        • Closures
        • Classes & Objects
      • Data types
      • Nulls, infs, and NaNs
      • Arrays
      • Strings
      • Java classes & objects
      • Execution Context
      • Liveness Scopes
      • Generate query strings
      • Built-in plotting API
        • Navigate the GUI
        • Set date-time format
        • Set table density
        • Create and organize notebooks
        • Markdown widgets
          • Format tables in the UI
          • Plot without writing queries
          • Filter without writing queries
          • Clickable links
            • Tree tables
            • Rollup tables
          • Custom themes
          • Use IFrames
        • Extract data with a Java client
      • JS API
        • Overview
        • Initialize
        • Binding to a table
        • Execute a query on a table
        • Sort a table
        • Filter a table
        • Query objects
        • Join two tables
        • Perform aggregations on table
        • Convert a PyArrow table to a Deephaven table
        • Execute a script server side
        • Subscribe to a ticking table
        • Error handling
        • Capture Python client tables
        • Overview
        • Getting started
        • Resource management
        • Data I/O
        • Fluent interface
        • Overview
        • Fetch tables
        • Import tables
        • Create input tables
        • Run scripts
        • Table operations
        • Overview
        • Building blocks of the Deephaven R client
        • Real-time data analysis
        • Powerful table operations
        • Aggregations
        • Moving operations
      • Flight SQL
        • Protobuf and RPC
      • MCP
      • Copilot extension
      • Think like a Deephaven ninja
        • Use performance tables
        • Dial down the update frequency of ticking tables
        • Data Indexes
        • Predicate Pushdown Filtering
        • Parallelization
        • Synchronization and locking
        • Formulas and threads
        • Barrage metrics
        • Interpret Barrage metrics
        • Troubleshoot query performance
        • Application Mode configuration
        • Auto-imported functions
        • Triage errors in queries
        • Attach a JVM debugger
        • Get version information
        • Retrieve logs
      • Extract table values
      • Update Deephaven
        • Pre-shared key
        • Anonymous
        • Keycloak
        • mTLS
        • Username/password
        • Docker data volumes
        • Adjust heap size
        • Deephaven console service
        • Deephaven Docker application
        • Periodic Update Graph configuration
        • Formula validation configuration
        • Query table configuration
          • Application Mode
          • Application Mode libraries
          • Application Mode scripts
        • JS plugins
        • Install packages
        • Install and use Java packages
        • Production application
        • Deephaven configuration files
        • Web Defaults
        • Custom environmental variables
      • AWS EC2
      • GCP
    • Ultimate cheat sheet
      • Simple table constructors
      • CSV
      • Parquet
      • URI
    • Performance tables
    • Time operations
    • Pydoc (client)
    • Pydoc (server)
      • Javascript
    • Javadoc (client/server)
    • Godoc
    • C++ (client)
    • C++ (examples)
    • R (client)
    • Barrage (Deephaven's Arrow Flight extension
    • gRPC
    • Protobuf
    • Install and use plugins
    • Create your own plugin
      • awaitUpdate
      • LivenessScope
      • hasDataIndex
      • getDataIndex
      • getOrCreateDataIndex
          • emptyTable
          • newTable
          • timeTable
          • Input Table
          • RingTableTools.of
          • tree
          • rollup
          • withAttributes
          • withoutAttributes
          • booleanCol
          • byteCol
          • charCol
          • col
          • instantCol
          • doubleCol
          • floatCol
          • intCol
          • longCol
          • shortCol
          • stringCol
        • FunctionGeneratedTableFactory
        • DynamicTableWriter
        • Replayer
        • TablePublisher
        • blinkToAppendOnly
        • toBlink
        • removeBlink
        • readCsv
        • writeCsv
        • consumeToPartitionedTable
        • consumeToTable
        • produceFromTable
        • readTable
        • writeTable
        • dryRun
        • evaluate
        • parseSql
        • IcebergCatalogAdapter
        • IcebergTableAdapter
        • IcebergTable
        • IcebergReadInstructions
        • IcebergUpdateMode
        • IcebergTableWriter
        • IcebergWriteInstructions
        • InferenceResolver
        • UnboundResolver
        • BuildCatalogOptions
        • LoadTableOptions
      • URI
        • diff
        • getAttribute
        • getAttributeKeys
        • getAttributes
        • getDefinition
        • hasAttribute
        • hasColumns
        • isEmpty
        • isFailed
        • isFlat
        • isRefreshing
        • meta
        • numColumns
        • dropColumns
        • flatten
        • lazyUpdate
        • moveColumns
        • moveColumnsDown
        • moveColumnsUp
        • renameColumns
        • retainingAttributes
        • select
        • selectDistinct
        • update
        • updateView
        • view
        • DownsampledWhereFilter
        • head
        • headPct
        • slice
        • slicePct
        • tail
        • tailPct
        • TailInitializationFilter
        • where
        • whereIn
        • whereNotIn
        • wouldMatch
        • restrictSortTo
        • reverse
        • sort
        • sortDescending
        • formatColumns
        • formatColumnWhere
        • formatRowWhere
        • setLayoutHints
        • atBack
        • atFront
        • columnGroup
        • dropColumnFormats
        • freeze
        • hide
        • columnsToRows
        • keyedTranspose
        • merge
        • mergeSorted
          • groupBy
          • ungroup
          • absSumBy
          • avgBy
          • countBy
          • firstBy
          • headBy
          • lastBy
          • maxBy
          • medianBy
          • minBy
          • stdBy
          • sumBy
          • tailBy
          • varBy
          • wavgBy
          • wsumBy
          • aggBy
          • partitionedAggBy
          • AggAbsSum
          • aggAllBy
          • AggApproxPct
          • AggAvg
          • AggCount
          • AggCountDistinct
          • AggCountWhere
          • AggDistinct
          • AggFirst
          • AggFormula
          • AggGroup
          • AggLast
          • AggMax
          • AggMed
          • AggMin
          • AggPartition
          • AggPct
          • AggSortedFirst
          • AggSortedLast
          • AggStd
          • AggSum
          • AggUnique
          • AggVar
          • AggWAvg
          • AggWSum
        • updateBy
        • CumMax
        • CumMin
        • CumProd
        • CumSum
        • CumCountWhere
        • Delta
        • DeltaControl
        • Ema
        • EmMax
        • EmMin
        • Ems
        • EmStd
        • Fill
        • OperationControl
        • RollingAvg
        • RollingCount
        • RollingCountWhere
        • RollingFormula
        • RollingGroup
        • RollingMax
        • RollingMin
        • RollingProduct
        • RollingStd
        • RollingSum
        • RollingWAvg
        • aj
        • exactJoin
        • fullOuterJoin
        • join
        • leftOuterJoin
        • Multi-Join
        • MultiJoinInput
        • MultiJoinTable
        • naturalJoin
        • raj
        • rangeJoin
        • partitionBy
        • filter
        • merge
        • sort
        • table
        • constituentChangesPermitted
        • constituentColumnName
        • constituentDefinition
        • constituentFor
        • constituents
        • keyColumnNames
        • uniqueKeys
        • proxy
        • partitionedTransform
        • transform
        • Partitioned table transform
        • snapshot
        • snapshotWhen
        • addTimeWindow
          • atMidnight
          • currentClock
          • dayOfMonth
          • dayOfWeek
          • dayOfYear
          • diffDays
          • diffMicros
          • diffMillis
          • diffMinutes
          • diffNanos
          • diffSeconds
          • diffYears365
          • diffYearsAvg
          • epochAutoToEpochNanos
          • epochAutoToInstant
          • epochAutoToZonedDateTime
          • epochMicros
          • epochMicrosToInstant
          • epochMicrosToZonedDateTime
          • epochMillis
          • epochMillisToInstant
          • epochMillisToZonedDateTime
          • epochNanos
          • epochNanosToInstant
          • epochNanosToZonedDateTime
          • epochSeconds
          • epochSecondsToInstant
          • epochSecondsToZonedDateTime
          • excelToInstant
          • excelToZonedDateTime
          • formatDate
          • formatDateTime
          • formatDurationNanos
          • hourOfDay
          • isAfter
          • isAfterOrEqual
          • isBefore
          • isBeforeOrEqual
          • lowerBin
          • microsOfMilli
          • microsOfSecond
          • microsToMillis
          • microsToNanos
          • microsToSeconds
          • millisOfDay
          • millisOfSecond
          • millisToMicros
          • millisToNanos
          • millisToSeconds
          • minus
          • minuteOfDay
          • minuteOfHour
          • monthOfYear
          • nanosOfDay
          • nanosOfMilli
          • nanosOfSecond
          • nanosToMicros
          • nanosToMillis
          • nanosToSeconds
          • now
          • nowMillisResolution
          • nowSystem
          • nowSystemMillisResolution
          • parseDuration
          • parseDurationNanos
          • parseDurationNanosQuiet
          • parseDurationQuiet
          • parseEpochNanos
          • parseEpochNanosQuiet
          • parseInstant
          • parseInstantQuiet
          • parseLocalDate
          • parseLocalDateQuiet
          • parseLocalTime
          • parseLocalTimeQuiet
          • parsePeriod
          • parsePeriodQuiet
          • parseTimePrecision
          • parseTimePrecisionQuiet
          • parseTimeZone
          • parseTimeZoneQuiet
          • parseZonedDateTime
          • parseZonedDateTimeQuiet
          • plus
          • secondOfDay
          • secondOfMinute
          • secondsToMicros
          • secondsToMillis
          • secondsToNanos
          • setClock
          • TimeSeriesFilter
          • timeZone
          • timeZoneAliasAdd
          • timeZoneAliasRm
          • today
          • toExcelTime
          • toInstant
          • toLocalDate
          • toLocalTime
          • toZonedDateTime
          • upperBin
          • year
          • yearOfCentury
          • currentTimeMicros
          • currentTimeMillis
          • currentTimeNanos
          • instantMillis
          • instantNanos
          • equals
          • not equals
          • icase in
          • icase not in
          • in
          • not in
        • Query scope
        • Special variables and constants
        • Arrays
        • DateTime
        • Durations
        • Casting
        • NaNs
        • Nulls
        • Objects
        • Periods
        • SelectableDataSetOneClick
        • Strings
      • Query language functions
      • catHistPlot
      • catPlot
      • catPlotBy
      • histPlot
      • ohlcPlot
      • oneClick
      • piePlot
      • plot
      • plotBy
      • plotStyle
      • Auto-imported functions
      • Automatic Groovy Imports
      • Backend Imports
    • Deephaven example apps on GitHub
      • FAQ Overview
        • Can I integrate custom data sources with Deephaven?
        • How can I find which Core version to which a feature or fix was added?
        • Is it possible to read a Parquet file from a remote location?
        • When does Deephaven load data into memory for Parquet reads?
        • Is docker compose required?
        • How do I configure Deephaven to use another port?
        • What's the minimum amount of memory I should allocate to a Deephaven server?
        • Is it possible disable the Deephaven console?
        • How do I set the default timezone?
        • How can I manage the number of cores Deephaven can use?
        • Does Deephaven have a built-in ATR?
        • How can I perform rolling operations without a fixed window size?
        • How do I delete historical data?
        • How do I extract a list of distinct dates from a table?
        • Why do queries run faster the second time they are run?
        • How do row keys and positional indices behave during table operations?
        • How do I automatically execute Groovy code based on a Deephaven table column value?
        • When should I use `whereIn` or `naturalJoin`?
        • How can I capture the first row of the last N updates?
        • How do I filter by time of day across all dates?
        • How do I solve a `hash table exceeds maximum size` error?
        • What's the best approach to monitor Deephaven server health?
        • Why am I getting an UpdateGraphConflictException?
        • Is there a way to find out how much memory a table is using?
        • Does it make any difference if I separate table operations or chain them together?
        • How do I convert vector columns to primitive array columns?
        • How can I convert year, day, and minute to an Instant?
        • Why isn't `lastBy` ticking?
        • How can I periodically write a ticking table to disk?
        • Is there a utility to pretty print a table to log?
        • How do I control what objects are displayed in the console?
        • How efficient are my table selection operations?
        • Why are my table operations producing incorrect results?
        • How do I shift values in columns?
        • How can I convert an integer date to a formatted string?
        • Where can I find the password for the Deephaven IDE?
        • How do I increase the maximum message size?
        • Why can't I read from S3?
        • How can I assume a specific role for S3?
    • Engage in GitHub discussions
    • File GitHub issue
    • Slack
  • Syntax
  • Parameters
  • Returns
  • Examples
  • Related documentation
  • Question? Give us feedback ↗
  • Edit this page on GitHub ↗
  • ↑ Back to top

getAttributeKeys

The getAttributeKeys method returns an immutable set of all the attributes that have values in the source table's AttributeMap.

Syntax

Parameters

This method has no parameters.

Returns

An immutable set of all the attributes that have values in the source table's AttributeMap.

Examples

Related documentation

  • withoutAttributes
  • getAttribute
  • getAttributes
  • hasAttribute
  • retainingAttributes
  • withAttributes
  • Javadoc

Community Core

DocumentationCommunity questionsOpen-core LicensePydoc clientPydoc serverJavadoc client/serverGodoc clientC++ client

Enterprise

Enterprise SupportDocumentation

Social

BlogGithubSlackLinkedinYoutube

Company

AboutCareersNewsroomBrand AssetsContact

Copyright © 2026 Deephaven Data Labs LLC

Privacy PolicyTerms of Service
table.getAttributeKeys()
import io.deephaven.engine.table.impl.util.AppendOnlyArrayBackedInputTable
import io.deephaven.engine.table.AttributeMap

source = newTable(
    doubleCol("Doubles", 3.1, 5.45, -1.0),
    stringCol("Strings", "Creating", "New", "Tables")
)

result = AppendOnlyArrayBackedInputTable.make(source)

println source.getAttributeKeys()
println result.getAttributeKeys()