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.
You can also create an HBase replication policy using Cloudera Replication Manager to replicate Phoenix 4.14 and 5.x versions into Cloudera Operational Database. For more information, refer to the second row of
the Replication methods table in HBase Migration through Replication
Manager.
-
Follow the same steps as described for Phoenix older than 4.14, steps 1 -
4, and modify step 5 according to the following instructions.
-
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.
-
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 Cloudera Operational Database.
-
Validate the query using phoenix-sqlline. This must return
the expected data from your Phoenix table.
You might have installed python2 or python3, depending on the operating system
version installed on your system; however, for the
phoenix-sqlline script to work properly, you must
ensure that the Python alternatives point to a specific version. Consider the
following examples for Python
alternatives,
$ alternatives --list|grep python
python auto /usr/bin/python3.6
Or
$ alternatives --list|grep python
python auto /usr/bin/python2.9