I have this table called 'emp' in hbase.
hbase(main):006:0> create 'emp', 'personel data'
0 row(s) in 1.3110 seconds
I've inserted 2 rows in it via put command.
hbase(main):020:0> scan 'emp'
ROW COLUMN+CELL
1 column=personel data:name, age, gender, timestamp=1641624361341, value=Pratik, 24, Male
2 column=personel data:name, age, gender, timestamp=1641624514176, value=Emma, 21, Female
2 row(s) in 0.0320 seconds
But, now I want to add data from the csv file.
[cloudera@quickstart ~]$ cat sample_kpi.csv
sam,24,m
emma,21,f
richard,23,m
susane,22,f
You can see my current working directory is: /home/cloudera
and in that I've sample_kpi.csv
. Hence, path=/home/cloudera/sample_kpi.csv
[cloudera@quickstart ~]$ pwd
/home/cloudera
[cloudera@quickstart ~]$ ls
avro data1 Documents emp.java external_jars kerberos Music part_dir rakeshdata sample_kpi.txt Videos
cloudera-manager Desktop Downloads enterprise-deployment.json external-unified kpifolder parcels Pictures rakeshdata1 sparkjars_exec workspace
cm_api.py devices.json eclipse express-deployment.json input.txt lib parquet_write Public sample_kpi.csv Templates zeyo_tab.java
So, I've written this command for importing data and ran it a few times but it shows error.
hbase(main):015:0> $ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY, personal_data:name, personal_data:age, personal_data:gender emp /home/cloudera/sample_kpi.csv
SyntaxError: (hbase):15: syntax error, unexpected null
$ hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY, personal_data:name, personal_data:age, personal_data:gender emp /home/cloudera/sample_kpi.csv
^
hbase(main):016:0> hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY, personal_data:name, personal_data:age, personal_data:gender emp /home/cloudera/sample_kpi.csv
SyntaxError: (hbase):16: syntax error, unexpected tSYMBEG
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY, personal_data:name, personal_data:age, personal_data:gender emp /home/cloudera/sample_kpi.csv
^
hbase(main):017:0> hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY, personal_data:name, personal_data:age, personal_data:gender emp /home/cloudera/sample_kpi.csv
SyntaxError: (hbase):17: syntax error, unexpected tSYMBEG
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=',' -Dimporttsv.columns=HBASE_ROW_KEY, personal_data:name, personal_data:age, personal_data:gender emp /home/cloudera/sample_kpi.csv
And also, I thought this must be occuring coz I haven't imported the sample_kpi.csv file to hbase. So tried importing it but I got this "Permission denied"
error:
[cloudera@quickstart ~]$ hadoop dfs -put /home/cloudera/sample_kpi.csv /hbase
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
put: Permission denied: user=cloudera, access=WRITE, inode="/hbase":hbase:supergroup:drwxr-xr-x
[cloudera@quickstart ~]$ hdfs dfs -put /home/cloudera/sample_kpi.csv /hbase
put: Permission denied: user=cloudera, access=WRITE, inode="/hbase":hbase:supergroup:drwxr-xr-x
And sometimes it says: No such file or directory
[cloudera@quickstart ~]$ hdfs dfs -put /home/cloudera/sample_kpi.csv /etc/hbase
put: `/etc/hbase': No such file or directory
[cloudera@quickstart ~]$ hadoop dfs -put /home/cloudera/sample_kpi.csv /hbase
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
Can somebody tell me what exactly the error is? And "WHY" is it happening?! Thank you so much!