Phoenix 4.14 and newer versions including 5.x

Phoenix 4.14 and 5.x have options which may or may not use column encoding, whereas the older versions did not have this feature. You must determine if your existing Phoenix table uses column encoding. Following are the various ways to check this.

  1. Follow the same steps as described for Phoenix older than 4.14, steps 1 - 5.
  2. Scan the raw data in HBase, and inspect if there are human-readable column names in the column qualifier. If you see human-readable names, you must set COLUMN_ENCODED_BYTES = 0. If you encounter a binary data (‘\x00’), assume that COLUMN_ENCODED_BYTES must be set. Following steps helps you to determine the value COLUMN_ENCODED_BYTES.
  3. Inspect the create-table command from the legacy product. If you explicitly set COLUMN_ENCODED_BYTES in an earlier version, you must use the same value when re-creating the Phoenix table in COD.
  4. Validate the query using phoenix-sqlline. This must return the expected data from your Phoenix table.