HBase
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> HBase

Spark trên HBase với Spark shell

Một số bổ sung nhỏ cần thiết để tấn công bảng HBase từ ngữ cảnh Spark.

Đầu tiên, hãy nhanh chóng tạo một bảng mẫu HBase “t1 ″ với 40 dòng

  [root @ sandbox ~] # cat hbase_load.txtcreate 't1', 'f1'for i in' 1 '..' 10 'do \ for j in' 1 '..' 2 'do \ for k in '1' .. '2' do \ rnd =(0 ... 64) .map {(65 + rand (26)). chr} .joinput 't1', "# {i} - # { j} - # {k} "," f1:# {j} # {k} "," # {rnd} "end \ end \ end [root @ sandbox ~] # cat hbase_load.txt | hbase shell  

Bạn cần điều chỉnh đường dẫn Spark của mình (cần có ổi 14 để bao gồm cái đầu tiên tôi tìm thấy):

  [root @ sandbox ~] # export SPARK_CLASSPATH =/ usr / hdp / current / spark-client / lib / hbase-common.jar:/ usr / hdp / current / spark-client / lib / hbase- client.jar:/usr/hdp/current/spark-client/lib/hbase-protocol.jar:/usr/hdp/current/spark-client/lib/hbase-server.jar:/ etc / hbase / conf:/ usr / hdp / 2.3.2.0-2950 / oozie / share / lib / spark / ổi-14.0.1.jar [root @ sandbox ~] # spark-shell --master fiber-client  

Xin lưu ý thêm, SPARK_CLASSPATH không được dùng trong Spark 1.5.x + vì vậy bạn sẽ sử dụng
  [root @ sandbox ~] # spark-shell --master fiber-client --driver-class-path =/ usr / hdp / current / spark-client / lib / hbase-common.jar:/usr/hdp/current/spark-client/lib/hbase-client.jar:/ usr / hdp / current / spark-client / lib / hbase-protocol.jar:/usr/hdp/current/spark-client/lib/hbase-hadoop2-compat.jar:/usr/hdp/current/spark-client/lib/hbase-server.jar:/ etc / hbase /conf:/usr/hdp/2.3.2.0-2950/oozie/share/lib/spark/guava-14.0.1.jar  

Tôi đã gặp lỗi khi sử dụng phiên bản trước:[…] Do:java.lang. apache.hadoop.hbase. {HBaseConfiguration, HTableDescriptor} import org.apache.hadoop.hbase.client. {HBaseAdmin, Result} import org.apache.hadoop.hbase.io.ImmutableBytesWlikeimport org.apache.hadoop.hbase.mapreduce.TableInputFormop.hbase.mapreduce.TableInput tableName ="t1" val hconf =HBaseConfiguration.create () hconf.set (TableInputFormat.INPUT_TABLE, "t1") val hBaseRDD =sc.newAPIHadoopRDD (hconf, classOf [TableInputFormat], classOf [Immutable], classOfn print ("các bản ghi được tìm thấy:" + hBaseRDD.count ()) [...] 2016-04-07 18:44:40,553 INFO [main] lập lịch.DAGScheduler:Job 0 đã hoàn thành:đếm tại :30, lấy 2.092481 sSố Bản ghi được tìm thấy:40 Nếu bạn muốn sử dụng HBase Admin để xem danh sách bảng, chụp nhanh hoặc bất kỳ thao tác nào liên quan đến quản trị viên, bạn sẽ sử dụng
  scala> val admin =new HBaseAdmin (hconf) admin.listTables  
Và nếu bạn muốn tạo một bảng:
  val tableDesc =new HTableDescriptor (tableName) admin.createTable (tableDesc)  

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. HBase znodes là gì?

  2. Điều chỉnh hiệu suất trong MapReduce để cải thiện hiệu suất

  3. Spark trên HBase với Spark shell

  4. HDFS Disk Balancer Giới thiệu, Hoạt động &Tính năng

  5. Công việc của Map Only trong Hadoop là gì?