云服务器内容精选

  • 操作步骤 直接执行如下命令统计满足如下条件的行数。rowkey在从“row_start”到“row_stop”的范围,字段“f3:age”的值为“25”,rowkey的前两个字符为“mi”的行数。 hbase com.huawei.hadoop.hbase.tools.bulkload.RowCounter -Dcounter.rowkey.start="row_start" -Dcounter.rowkey.stop="row_stop" -Dcounter.qualifier="f3:age:25" -Dcounter.rowkey.value="substring(0,2) == 'mi'" table1 -Dcounter.rowkey.start="row_start":表示开始的rowkey为“row_start”。 -Dcounter.rowkey.stop="row_stop":表示结束的rowkey为“row_stop”。 -Dcounter.qualifier="f3:age:25":表示列族f3中列为age的列值为25。 -Dcounter.rowkey.value="substring(0,2) == 'mi'":表示rowkey的值中前两个为mi。 如果指定了“row_start”和“row_stop”,则统计的为大于等于“row_start”并且小于“row_stop”的数据。
  • 配置自定义rowkey实现 使用BulkLoad工具批量导入HBase数据时,支持用户自定义的组合rowkey实现。用户可编写rowkey实现代码,导入时根据该代码逻辑进行组合rowkey导入。 配置自定义rowkey实现步骤如下: 用户编写自定义rowkey的实现类,需要继承接口,该接口所在的Jar包路径为“客户端安装目录/HBase/hbase/lib/hbase-it-bulk-load-*.jar”: [com.huawei.hadoop.hbase.tools.bulkload.RowkeyHandlerInterface], 实现接口中方法: byte[] getRowkeyBytes(String[] colsValues, RegulationDomain regulation) 其中: 传入参数“colsValues”为原始数据中的一行数据集合,每个元素为一列。 传入参数“regulation”为配置导入文件信息(一般情况下并不需要使用)。 将该实现类与其依赖包同时打包成Jar文件,保存到HBase客户端所在节点的任意位置并确保执行命令的用户具有读取和执行该Jar包的权限。 在执行导入命令时,增加两个参数配置项: -Dimport.rowkey.jar="第二步中Jar包的全路径" -Dimport.rowkey.class="用户实现类的全类名"
  • 按自定义分隔符导入数据至HBase 将数据文件上传到客户端所在节点,例如上传名为“data.csv”的文件到客户端所在节点的“/opt/test”目录下,分隔符为“|^[”,文件内容如下所示: 以客户端安装用户,登录安装客户端的节点。 执行以下命令切换到客户端目录。 cd 客户端安装目录 执行以下命令配置环境变量。 source bigdata_env 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建HBase表的权限和HDFS的操作权限: kinit 组件业务用户 如果当前集群未启用Kerberos认证,则执行以下命令设置Hadoop用户名: export HADOOP_USER_NAME=hbase 执行以下命令,把1的数据文件“data.csv”上传至HDFS目录,例如上传至“/tmp”目录: hdfs dfs -put /opt/test/data.csv /tmp 执行Phoenix客户端命令。 sqlline.py 执行以下命令创建TEST表: CREATE TABLE TEST ( ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR, AGE INTEGER, ADDRESS VARCHAR, GENDER BOOLEAN, A DECIMAL, B DECIMAL ) split on (1, 2, 3,4,5,6,7,8,9); 表创建成功后,执行!quit退出Phoenix命令行。 执行导入命令: hbase org.apache.phoenix.mapreduce.CsvBulkLoadTool -md '自定义分隔符' -t 表名 -i 数据路径 例如:导入数据文件“data.csv”到TEST表: hbase org.apache.phoenix.mapreduce.CsvBulkLoadTool -md '|^[' -t TEST -i /tmp/data.csv 执行以下命令,查看导入表TEST的数据: sqlline.py SELECT * FROM TEST LIMIT 10;
  • 配置自定义rowkey实现 使用BulkLoad工具批量导入HBase数据时,支持用户自定义的组合rowkey实现。用户可编写rowkey实现代码,导入时根据该代码逻辑进行组合rowkey导入。 配置自定义rowkey实现步骤如下: 用户编写自定义rowkey的实现类,需要继承接口,该接口所在的Jar包路径为“客户端安装目录/HBase/hbase/lib/hbase-it-bulk-load-*.jar”: [com.huawei.hadoop.hbase.tools.bulkload.RowkeyHandlerInterface], 实现接口中方法: byte[] getRowkeyBytes(String[] colsValues, RegulationDomain regulation) 其中: 传入参数“colsValues”为原始数据中的一行数据集合,每个元素为一列。 传入参数“regulation”为配置导入文件信息(一般情况下并不需要使用)。 将该实现类与其依赖包同时打包成Jar文件,保存到HBase客户端所在节点的任意位置并确保执行命令的用户具有读取和执行该Jar包的权限。 在执行导入命令时,增加两个参数配置项: -Dimport.rowkey.jar="第二步中Jar包的全路径" -Dimport.rowkey.class="用户实现类的全类名"