hadoop - Apache Phoenix 4.7 csvBulkLoad.run() throws ClassNotFoundException -


we running spark streaming job read kafka, convert csv , write hbase. using api csvbulkload run bulk load job. spark job starts fine , converts csv csvbulkload.run() starts new mr job fails exception

error: java.lang.classnotfoundexception: org.apache.commons.csv.csvformat     @ java.net.urlclassloader.findclass(urlclassloader.java:381)     @ java.lang.classloader.loadclass(classloader.java:424)     @ sun.misc.launcher$appclassloader.loadclass(launcher.java:331)     @ java.lang.classloader.loadclass(classloader.java:357)     @ org.apache.phoenix.mapreduce.csvtokeyvaluemapper$csvlineparser.<init>(csvtokeyvaluemapper.java:96)     @ org.apache.phoenix.mapreduce.csvtokeyvaluemapper.setup(csvtokeyvaluemapper.java:69)     @ org.apache.hadoop.mapreduce.mapper.run(mapper.java:143)     @ org.apache.hadoop.mapred.maptask.runnewmapper(maptask.java:787)     @ org.apache.hadoop.mapred.maptask.run(maptask.java:341)     @ org.apache.hadoop.mapred.yarnchild$2.run(yarnchild.java:170)     @ java.security.accesscontroller.doprivileged(native method)     @ javax.security.auth.subject.doas(subject.java:422)     @ org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation.java:1865)     @ org.apache.hadoop.mapred.yarnchild.main(yarnchild.java:164) 

this spark job command

spark-submit --jars $(echo lib/*.jar | tr ' ' ',') --class "com.lam.app.driver" --name "mybulkloader" --master yarn --deploy-mode cluster --driver-class-path $(echo lib/*.jar | tr ' ' ',') --driver-memory 4g --executor-memory 1g --num-executors 2 --executor-cores 2 --files conf.properties pipeline-1.0.jar 

earlier used error missing class (java.lang.noclassdeffounderror: com/yammer/metrics/core/metricsregistry) got resolved after including "--driver-class-path $(echo lib/*.jar | tr ' ' ',') ". getting error missing csvformat class.

my lib directory has jar files needed including commons-csv jar still getting error. use maven build project. below code snippet running csvbulkload

csvbulkloadtool csvbulkloadtool = new csvbulkloadtool(); final org.apache.hadoop.conf.configuration conf = hbaseconfiguration.create(); system.out.println("zkquorum " + this.zkquorum); conf.set(hconstants.zookeeper_quorum, this.zkquorum); conf.set("hbase.zookeeper.property.clientport", string.valueof(2181)); conf.set("zookeeper.znode.parent", "/hbase-unsecure");  csvbulkloadtool.setconf(conf); int exitcode = csvbulkloadtool.run(new string[] { "--input", "\"" + this.hdfsinputfile + "\"",     "--table", this.tablename, "--zookeeper", this.zkquorum + ":2181:/hbase-unsecure" }); system.out.println("return code of wdl bulk load execution " + exitcode);    

my exitcode -1 always. please let me know if missing in class path

i resolved finally. had missed adding phoenix client jar , issue got resolved after that. hope tip helps come across similar issue


Comments

Popular posts from this blog

PHP and MySQL WP -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

go - golang pprof for c library code -