データフレームがあり、hbaseに挿入したい。私はこれに従うdocumenation。スパークデータフレームをhbaseに挿入する
--------------------
|id | name | address |
|--------------------|
|23 |marry |france |
|--------------------|
|87 |zied |italie |
--------------------
私はこのコードを使用して、HBaseのテーブルを作成:
val tableName = "two"
val conf = HBaseConfiguration.create()
if(!admin.isTableAvailable(tableName)) {
print("-----------------------------------------------------------------------------------------------------------")
val tableDesc = new HTableDescriptor(tableName)
tableDesc.addFamily(new HColumnDescriptor("z1".getBytes()))
admin.createTable(tableDesc)
}else{
print("Table already exists!!--------------------------------------------------------------------------------------")
}
を、今どのように私はHBaseのには、このデータフレームを挿入することができる
これは、ように私のデータフレームの外観がどのようにでしょうか?私はこのコードを使用してのHBaseに挿入し成功する別の例では
:
val myTable = new HTable(conf, tableName)
for (i <- 0 to 1000) {
var p = new Put(Bytes.toBytes(""+i))
p.add("z1".getBytes(), "name".getBytes(), Bytes.toBytes(""+(i*5)))
p.add("z1".getBytes(), "age".getBytes(), Bytes.toBytes("2017-04-20"))
p.add("z2".getBytes(), "job".getBytes(), Bytes.toBytes(""+i))
p.add("z2".getBytes(), "salary".getBytes(), Bytes.toBytes(""+i))
myTable.put(p)
}
myTable.flushCommits()
しかし、今、私は私のHBaseのテーブルに私のデータフレームの各レコードを挿入する方法、立ち往生しています。
は目的 ドキュメントの書式設定コードのための答えを使用して、あなたの時間と注意
問題は明確ではありません。あなたは何か他のことをやっている。 https://hbase.apache.org/book.html#_sparksql_dataframesではカタログを定義し、sc.parallelize(data).toDF.write.optionsでDFをHBaseに保存するように指示します。 – Sergey
はい、私はそのドキュメントを使用していると言います。私はここでスタックしています。val data =(0〜255).map {i => HBaseRecord(i、 "extra")} '0から255までのデータフレームのforeachレコードを挿入する方法 –