1

I have been trying to fetch the data from a Hbase table using HbaseInput component in Big data Batch.Like below. enter image description here

I have not performed any transformation in the tMap, just trying to read the data from Hbase table.I have checked all the connections, they are connected fine. So, finally i built a job, copied it and ran in the cluster. The job gave me the below exceptions,

[WARN ]: org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper - Possibly transient ZooKeeper, quorum=zk:5181, exception=org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid
Running job: job_1472265299867_10046
 map 0% reduce 0%
Task Id : attempt_1472265299867_10046_m_000001_0, Status : FAILED
Error: java.lang.RuntimeException: Error in configuring object
        at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)
        at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75)
        at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
        at org.talend.hadoop.mapred.lib.DelegatingInputFormat.getRecordReader(DelegatingInputFormat.java:58)
        at org.apache.hadoop.mapred.MapTask$TrackedRecordReader.<init>(MapTask.java:172)
        at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:414)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:347)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1566)
        at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106)
        ... 11 more
Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: namespace1:table_name
        at local_project.hbasepilot_0_1.HbasePilot$tHBaseInput_1InputFormat.configure(HbasePilot.java:308)
        ... 16 more
Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: namespace1:table_name
        at org.apache.hadoop.fs.Path.initialize(Path.java:218)
        at org.apache.hadoop.fs.Path.<init>(Path.java:184)
        at org.apache.hadoop.fs.Path.<init>(Path.java:93)
        at com.mapr.fs.hbase.MapRTableMappingRules.makePath(MapRTableMappingRules.java:296)
        at com.mapr.fs.hbase.MapRTableMappingRules.getTablePath(MapRTableMappingRules.java:277)
        at com.mapr.fs.hbase.MapRTableMappingRules.getMaprTablePath(MapRTableMappingRules.java:248)
        at com.mapr.fs.hbase.MapRTableMappingRules.isMapRTable(MapRTableMappingRules.java:201)
        at org.apache.hadoop.hbase.client.mapr.BaseTableMappingRules.isMapRTable(BaseTableMappingRules.java:96)
        at org.apache.hadoop.hbase.client.HTable.initIfMapRTable(HTable.java:440)
        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:204)
        at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:172)
        at local_project.hbasepilot_0_1.HbasePilot$tHBaseInput_1InputFormat.configure(HbasePilot.java:306)
        ... 16 more
Caused by: java.net.URISyntaxException: Relative path in absolute URI: namespace1:table_name
        at java.net.URI.checkPath(URI.java:1823)
        at java.net.URI.<init>(URI.java:745)
        at org.apache.hadoop.fs.Path.initialize(Path.java:215)
        ... 27 more

 map 50% reduce 0%
 map 100% reduce 0%
Job complete: job_1472265299867_10046
Counters: 34
        File System Counters
                FILE: Number of bytes read=0
                FILE: Number of bytes written=188744
                FILE: Number of read operations=0
                FILE: Number of large read operations=0
                FILE: Number of write operations=0
                MAPRFS: Number of bytes read=652
                MAPRFS: Number of bytes written=100535043
                MAPRFS: Number of read operations=34
                MAPRFS: Number of large read operations=0
                MAPRFS: Number of write operations=12998
        Job Counters
                Failed map tasks=1
                Killed map tasks=1
                Launched map tasks=4
                Other local map tasks=1
                Rack-local map tasks=3
                Total time spent by all maps in occupied slots (ms)=8052096
                Total time spent by all reduces in occupied slots (ms)=0
                Total time spent by all map tasks (ms)=4026048
                Total vcore-seconds taken by all map tasks=4026048
                Total megabyte-seconds taken by all map tasks=8245346304
                DISK_MILLIS_MAPS=2013025
        Map-Reduce Framework
                Map input records=4299826
                Map output records=4299826
                Input split bytes=652
                Spilled Records=0
                Failed Shuffles=0
                Merged Map outputs=0
                GC time elapsed (ms)=43365
                CPU time spent (ms)=3716080
                Physical memory (bytes) snapshot=2017206272
                Virtual memory (bytes) snapshot=7506382848
                Total committed heap usage (bytes)=2491416576
        File Input Format Counters
                Bytes Read=0
        File Output Format Counters
                Bytes Written=100535043

Here is the table name, enter image description here

It has written the row key, which i have hard coded in the component. And rest of the fields are empty. Yes, i have data in the table, it has millions of rows. I think talend is not able to fetch the data from my table, it is not communicating with it, as the exception says "Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI:namespace1:table_name"

**Is this the right way to specify the table name?

Why am i not picking the data from the table?**

3
  • try to put "table_name" only. Commented Feb 7, 2017 at 12:15
  • if i did not specify the namespace, it is throwing error similar to this. path /table_name does not exist.There are multiple areas where i should look.I will keep you posted Commented Feb 8, 2017 at 3:36
  • sorry for the late reply, we have to specify the value like "namespace:table_name" if we do not enable "Set table namespace mappings". Commented Nov 3, 2017 at 5:12

1 Answer 1

1

You are using MAPR distro, and it's a little bit different then other Hadoop distro.

In talend, you can go to advanced setting of the tHbaseInput component and set the following propetries :

hbase.table.namespace.mappings

or check the Set table Namspace mappings box and put your mapping to the table. See here.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.