Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
aplikasi Hive spesifik untuk versi AMI sebelumnya dari Amazon EMR
File log
Menggunakan Amazon EMR AMI versi 2.x dan 3.x, log Hive disimpan ke /mnt/var/log/apps/
. Untuk mendukung versi bersamaan Hive, versi Hive yang Anda jalankan menentukan nama file log, seperti yang ditunjukkan pada tabel berikut.
Versi Hive | Nama file log |
---|---|
0.13.1 | hive.log
catatanDimulai dengan versi ini, Amazon EMR menggunakan nama file tidak berversi, |
0.11.0 | hive_0110.log
catatanVersi minor dari Hive 0.11.0, seperti 0.11.0.1, berbagi lokasi file log yang sama sebagai Hive 0.11.0. |
0.8.1 | hive_081.log
catatanVersi minor dari Hive 0.8.1, seperti Hive 0.8.1.1, berbagi lokasi file log yang sama sebagai Hive 0.8.1. |
0.7.1 | hive_07_1.log
catatanVersi minor dari Hive 0.7.1, seperti Hive 0.7.1.3 dan Hive 0.7.1.4, berbagi lokasi file log yang sama sebagai Hive 0.7.1. |
0,7 | hive_07.log |
0,5 | hive_05.log |
0,4 | hive.log |
Fungsionalitas input terpisah
Untuk menerapkan fungsi input split menggunakan versi Hive lebih awal dari 0.13.1 (Amazon EMR AMI versi sebelumnya 3.11.0), gunakan berikut:
hive> set hive.input.format=org.apache.hadoop.hive.ql.io.HiveCombineSplitsInputFormat; hive> set mapred.min.split.size=
100000000
;
Fungsi ini diusangkan dengan Hive 0.13.1. Untuk mendapatkan fungsi format input split yang sama di Amazon EMR AMI Versi 3.11.0, gunakan berikut ini:
set hive.hadoop.supports.splittable.combineinputformat=true;
Port layanan penghematan
Hemat adalah kerangka RPC yang mendefinisikan format serialisasi biner kompak digunakan untuk bertahan struktur data untuk analisis kemudian. Biasanya, Hive mengkonfigurasi server untuk beroperasi pada port berikut.
Versi Hive | Angka port |
---|---|
Hive 0.13.1 | 10000 |
Hive 0.11.0 | 10004 |
Hive 0.8.1 | 10003 |
Hive 0.7.1 | 10002 |
Hive 0.7 | 10001 |
Hive 0.5 | 10000 |
Untuk informasi selengkapnya tentang menginstal layanan ini, lihat http://wiki.apache.org/thrift/
Gunakan Hive untuk memulihkan partisi
Amazon EMR termasuk pernyataan dalam bahasa query Hive yang pulih partisi dari tabel data yang terletak di Amazon S3. Contoh berikut menunjukkan hal ini.
CREATE EXTERNAL TABLE (json string) raw_impression
PARTITIONED BY (dt string)
LOCATION 's3://elastic-mapreduce/samples/hive-ads/tables/impressions';
ALTER TABLE logs RECOVER PARTITIONS;
Direktori partisi dan data harus berada di lokasi yang ditentukan dalam definisi tabel dan harus diberi nama sesuai dengan konvensi Hive: misalnya, dt=2009-01-01
.
catatan
Setelah Hive 0.13.1 kemampuan ini didukung native menggunakan msck
repair
dan karenanya table
recover
partitions
tidak didukung. Untuk informasi lebih lanjut, lihat https://cwiki.apache. org/confluence/display/Hive/LanguageManual+ DDL
Lulus variabel Hive untuk script
Untuk meneruskan variabel ke langkah Hive menggunakan AWS CLI, ketik perintah berikut, ganti myKey
dengan nama EC2 key pair Anda, dan ganti amzn-s3-demo-bucket
dengan nama bucket Anda. Dalam contoh ini, SAMPLE
adalah nilai variabel yang didahului oleh -d
beralih. Variabel ini didefinisikan dalam script Hive sebagai: ${SAMPLE}
.
catatan
Karakter kelanjutan baris Linux (\) disertakan untuk memudahkan pembacaan. Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).
aws emr create-cluster --name "
Test cluster
" --ami-version3.9
\ --applications Name=Hue
Name=Hive
Name=Pig
\ --use-default-roles --ec2-attributes KeyName=myKey
\ --instance-typem3.xlarge
--instance-count3
\ --steps Type=Hive
,Name="Hive Program
",ActionOnFailure=CONTINUE
,\ Args=[-f,s3://elasticmapreduce/samples/hive-ads/libs/response-time-stats.q
,-d,\ INPUT=s3://elasticmapreduce/samples/hive-ads/tables
,-d,OUTPUT=s3://amzn-s3-demo-bucket/hive-ads/output/
,\ -d,SAMPLE
=s3://elasticmapreduce/samples/hive-ads/
]
Tentukan lokasi metastore eksternal
Prosedur berikut menunjukkan cara untuk menimpa nilai konfigurasi default untuk lokasi metastore Hive dan mulai cluster menggunakan lokasi metastore ulang.
Untuk membuat metastore terletak di luar cluster EMR
-
Buat database MySQL atau Aurora menggunakan Amazon RDS.
Untuk informasi tentang cara membuat database Amazon RDS, lihat Memulai dengan Amazon RDS.
-
Ubah grup keamanan Anda untuk mengizinkan koneksi JDBC antara database Anda dan grup keamanan ElasticMapReduce-Master.
Untuk informasi tentang cara mengubah grup keamanan untuk akses, lihat, lihat Grup keamanan Amazon RDS di Panduan Pengguna Amazon RDS.
-
Mengatur nilai-nilai konfigurasi JDBC di
hive-site.xml
:-
Buat
hive-site.xml
file konfigurasi yang berisi berikut ini:<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mariadb://
hostname
:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> <description>Username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password
</value> <description>Password to use against metastore database</description> </property> </configuration>hostname
adalah alamat DNS dari instans Amazon RDS yang menjalankan database.username
danpassword
merupakan kredensyal untuk database Anda. Untuk informasi selengkapnya tentang menghubungkan ke MySQL dan Aurora database instans, lihat Menghubungkan ke instans DB yang menjalankan mesin basis data MySQL dan Menghubungkan ke klaster DB Aurora di Panduan Pengguna Amazon RDS.Driver JDBC diinstal oleh Amazon EMR.
catatan
Properti nilai tidak boleh mengandung spasi atau pengembalian carriage. Ini akan muncul semua pada satu baris.
-
Simpan file
hive-site.xml
Anda ke lokasi di Amazon S3, sepertis3://
.amzn-s3-demo-bucket/
hive-site.xml
-
-
Buat cluster, menentukan lokasi Amazon S3 dari disesuaikan
hive-site.xml
file.Contoh perintah berikut menunjukkan AWS CLI perintah yang melakukan hal ini.
catatan
Karakter lanjutan baris Linux (\) disertakan agar mudah dibaca Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).
aws emr create-cluster --name "
Test cluster
" --ami-version3.10
\ --applications Name=Hue
Name=Hive
Name=Pig
\ --use-default-roles --ec2-attributes KeyName=myKey
\ --instance-typem3.xlarge
--instance-count3
\ --bootstrap-actions Name="Install Hive Site Configuration
",\ Path="s3://region
.elasticmapreduce/libs/hive/hive-script",\ Args=["--base-path","s3://elasticmapreduce/libs/hive","--install-hive-site",\ "--hive-site=s3://amzn-s3-demo-bucket
/hive-site.xml","--hive-versions","latest"]
Connect ke Hive menggunakan JDBC
Untuk terhubung ke Hive melalui JDBC mengharuskan Anda untuk men-download driver JDBC dan menginstal klien SQL. Contoh berikut menunjukkan menggunakan SQL Workbench/J untuk terhubung ke Hive menggunakan JDBC.
Untuk men-download driver JDBC
-
Men-download dan ekstrak driver yang sesuai dengan versi Hive yang ingin Anda akses. Versi Hive berbeda tergantung pada AMI yang Anda pilih saat membuat klaster Amazon EMR.
-
Driver Hive 0.11.0 JDBC: https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc/0.11.0
-
Driver Hive 0.8.1 JDBC: https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc/0.8.1
-
Untuk menginstal SQL Workbench/J. Untuk informasi lebih lanjut, lihat Menginstal dan mulai SQL Workbench/J
dalam Manual pengguna SQL Workbench/J Manual. -
Buat terowongan SSH ke node master cluster. Port untuk koneksi berbeda tergantung pada versi Hive. Contoh perintah disediakan dalam tabel di bawah ini untuk Linux
ssh
pengguna dan perintah PuTTY untuk pengguna WindowsPerintah SSH Linux Versi Hive perintah 0.13.1 ssh -o ServerAliveInterval=10 -i
path-to-key-file
-N -L 10000:localhost:10000 hadoop@master-public-dns-name
0.11.0 ssh -o ServerAliveInterval=10 -i
path-to-key-file
-N -L 10004:localhost:10004 hadoop@master-public-dns-name
0.8.1 ssh -o ServerAliveInterval=10 -i
path-to-key-file
-N -L 10003:localhost:10003 hadoop@master-public-dns-name
0.7.1 ssh -o ServerAliveInterval=10 -i
path-to-key-file
-N -L 10002:localhost:10002 hadoop@master-public-dns-name
0,7 ssh -o ServerAliveInterval=10 -i
path-to-key-file
-N -L 10001:localhost:10001 hadoop@master-public-dns-name
0,5 ssh -o ServerAliveInterval=10 -i
path-to-key-file
-N -L 10000:localhost:10000 hadoop@master-public-dns-name
Pengaturan terowongan Windows PuTTY Versi Hive Pengaturan terowongan 0.13.1 Port sumber: 10000 Tujuan ::10000 master-public-dns-name
0.11.0 Port sumber: 10004 Tujuan ::10004 master-public-dns-name
0.8.1 Port sumber: 10003 Tujuan ::10003 master-public-dns-name
-
Tambahkan driver JDBC ke SQL Workbench.
-
Di Pilih Profil Koneksi kotak dialog, pilih Mengelola driver.
-
Pilih Buat entri baru (halaman kosong) ikon.
-
Di kolom Nama, ketikkan
Hive JDBC
. -
Untuk Pustaka, klik ikon Pilih file JAR.
-
Pilih file JAR seperti yang ditunjukkan dalam tabel berikut.
Versi driver hive File JAR untuk ditambahkan 0.13.1 hive_metastore.jar hive_service.jar HiveJDBC3.jar libfb303-0.9.0.jar libthrift-0.9.0.jar log4j-1.2.14.jar ql.jar slf4j-api-1.5.8.jar slf4j-log4j12-1.5.8.jar TCLIServiceClient.jar
0.11.0 hadoop-core-1.0.3.jar hive-exec-0.11.0.jar hive-jdbc-0.11.0.jar hive-metastore-0.11.0.jar hive-service-0.11.0.jar libfb303-0.9.0.jar commons-logging-1.0.4.jar slf4j-api-1.6.1.jar
0.8.1 hadoop-core-0.20.205.jar hive-exec-0.8.1.jar hive-jdbc-0.8.1.jar hive-metastore-0.8.1.jar hive-service-0.8.1.jar libfb303-0.7.0.jar libthrift-0.7.0.jar log4j-1.2.15.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar
0.7.1 hadoop-0.20-core.jar hive-exec-0.7.1.jar hive-jdbc-0.7.1.jar hive-metastore-0.7.1.jar hive-service-0.7.1.jar libfb303.jar commons-logging-1.0.4.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar
0,7 hadoop-0.20-core.jar hive-exec-0.7.0.jar hive-jdbc-0.7.0.jar hive-metastore-0.7.0.jar hive-service-0.7.0.jar libfb303.jar commons-logging-1.0.4.jar slf4j-api-1.5.6.jar slf4j-log4j12-1.5.6.jar
0,5 hadoop-0.20-core.jar hive-exec-0.5.0.jar hive-jdbc-0.5.0.jar hive-metastore-0.5.0.jar hive-service-0.5.0.jar libfb303.jar log4j-1.2.15.jar commons-logging-1.0.4.jar
-
Pada kotak dialog Pilih satu driver, pilih driver sesuai dengan tabel berikut ini dan klik OKE.
Versi Hive Nama kelas driver 0.13.1 com.amazon.hive.jdbc3.HS2Driver
0.11.0 org.apache.hadoop.hive.jdbc.HiveDriver.jar
0.8.1 org.apache.hadoop.hive.jdbc.HiveDriver.jar
0.7.1 org.apache.hadoop.hive.jdbc.HiveDriver.jar
0,7 org.apache.hadoop.hive.jdbc.HiveDriver.jar
0,5 org.apache.hadoop.hive.jdbc.HiveDriver.jar
-
-
Ketika Anda kembali ke Pilih Profil Koneksi kotak dialog, verifikasi bahwa Driver bidang diatur ke Hive JDBC dan menyediakan koneksi JDBC string di URL kolom sesuai dengan tabel berikut.
Versi Hive String koneksi JDBC 0.13.1 jdbc:hive2://localhost:10000/default
0.11.0 jdbc:hive://localhost:10004/default
0.8.1 jdbc:hive://localhost:10003/default
Jika cluster Anda menggunakan AMI versi 3.3.1 atau yang lebih baru, di Pilih Profil Koneksi kotak dialog, jenis
hadoop
di Nama pengguna Bidang.