私は HDP の初心者で、複数の列を持つ hbase テーブルを作成し、以下のように csv ファイルからデータをロードしたいと考えています。
ご覧のとおり、「nom」「prenom」などの複数の列を含む列ファミリー「informations personles」の例があります。
私の質問は次のとおりです: - hdpサンドボックスでJava APIを使用してテーブルhbaseを作成する方法は? - csv ファイルからデータをロードする方法は?
ps: テーブルを作成しようとしましたが、サンドボックスで実行する方法がわかりませんか? 私のJavaクラスをどこに置くのですか?何かを設定する必要がありますか?
ここに私のコードがあります
import java.io.IOException;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.conf.Configuration;
public class CreateTable {
public static void main(String[] args) throws IOException {
// Instantiating configuration class
Configuration con = HBaseConfiguration.create();
con.set("hbase.zookeeper.property.clientPort", "2181");
con.set("hbase.zookeeper.quorum", "hortonworks.hbase.vm");
con.set("zookeeper.znode.parent", "/hbase-unsecure");
System.out.println("HBase is running!");
// Instantiating HbaseAdmin class
HBaseAdmin admin = new HBaseAdmin(con);
// Instantiating table descriptor class
HTableDescriptor tableDescriptor = new
TableDescriptor(TableName.valueOf("competence"));
// Adding column families to table descriptor
tableDescriptor.addFamily(new HColumnDescriptor("Infos_collaborateur"));
tableDescriptor.addFamily(new HColumnDescriptor("Infos_Rh"));
tableDescriptor.addFamily(new HColumnDescriptor("Savoir_faire"));
tableDescriptor.addFamily(new HColumnDescriptor("Savoir_etre"));
tableDescriptor.addFamily(new HColumnDescriptor("Langues"));
tableDescriptor.addFamily(new HColumnDescriptor("Java:Developpement/Librairies/API/Frameworks/CMS"));
tableDescriptor.addFamily(new HColumnDescriptor("PHP/Frameworks"));
tableDescriptor.addFamily(new HColumnDescriptor("Techno_Web/Frameworks"));
tableDescriptor.addFamily(new HColumnDescriptor("Autres"));
tableDescriptor.addFamily(new HColumnDescriptor("ERP:Language/Outils"));
tableDescriptor.addFamily(new HColumnDescriptor("Mobile:natif"));
tableDescriptor.addFamily(new HColumnDescriptor("Mobile:Cross"));
tableDescriptor.addFamily(new HColumnDescriptor("Infographie/creas"));
tableDescriptor.addFamily(new HColumnDescriptor("Outils_de_developpement/Software"));
tableDescriptor.addFamily(new HColumnDescriptor("Analytics"));
tableDescriptor.addFamily(new HColumnDescriptor("Outils_Microsoft"));
tableDescriptor.addFamily(new HColumnDescriptor("Developpements/Librairies"));
tableDescriptor.addFamily(new HColumnDescriptor("BaseDeDonnees/FluxDeDonnees"));
tableDescriptor.addFamily(new HColumnDescriptor("Windows:SystemeDexploitation/serveur"));
tableDescriptor.addFamily(new HColumnDescriptor("AutresOS"));
tableDescriptor.addFamily(new HColumnDescriptor("Plateforms"));
tableDescriptor.addFamily(new HColumnDescriptor("Serveur_web_parametrage"));
tableDescriptor.addFamily(new HColumnDescriptor("Serveur_Application_parametrage"));
tableDescriptor.addFamily(new HColumnDescriptor("Integration/fonctionnel"));
tableDescriptor.addFamily(new HColumnDescriptor("Outils_de_conception/de_gestion_projet"));
tableDescriptor.addFamily(new HColumnDescriptor("AMOA"));
tableDescriptor.addFamily(new HColumnDescriptor("Experience"));
tableDescriptor.addFamily(new HColumnDescriptor("Interventions"));
// Execute the table through admin
admin.createTable(tableDescriptor);
System.out.println(" Table created ");
}
}
前もって感謝します