Antes de leer esto, asegúrese de que las siguientes cosas
- JDK instalado
- hadoop instalado (recuerde necesidad Listo para usar el paquete jar)
- colmena instalada (recuerda base de datos de las colmenas, listo paquete frasco necesidad de uso)
- Hadoop archivo configurado en relación Amazon S3
- archivo de sección configurada está conectado Amazon S3
- Configurar la conexión entre la colmena y hadoop
Colmena de cómo ser capaz de leer los datos de archivo directamente .gz Amazon S3 en ella?
Desglosamos esta cuestión, dividida en tres partes:
- colmena no puede leer un archivo en los datos de Amazon S3?
- colmena no puede leer datos de archivos .gz?
- colmena no se puede leer en el Amazon S3 en .gz datos de archivos?
Directorio artículo
1. colmena no puede leer un archivo en los datos de Amazon S3?
1.1 Preparación de datos
Listo por delante de los archivos de datos a.txt, en s3a: // depósito bajo el directorio / prueba /.
$ s3cmd put a.txt s3://bucket/test/
a.txt dice lo siguiente:
Edward,Lear,Baker Street 202
Stephen,Hawking,Baker Street 203
John,Dalton,Baker Street 204
Charles,Darwin,Baker Street 205
Sherlock,Holmes,Baker Street 221B
1.2 Crear una tabla externa
En el cli colmena, y crear una tabla externa, navegar a s3a: // depósito / s3aTestBaker / directorio
CREATE EXTERNAL TABLE test
(FirstName STRING, LastName STRING, StreetAddress STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION 's3a://bucket/test/';
Tabla leerá automáticamente s3a: // bucketms / s3aTestBaker directorio / archivo (este directorio debe todos los archivos son archivo legible, o el siguiente error de consulta: Incapaz de los tipos de archivos de análisis sintáctico)
1.3 datos de la consulta
El s3a en tiempo real: // datos de archivo con bucketms / s3aTestBaker / directorio seleccionarlo mediante la creación de una buena tabla externa
hive>select * from test;
Edward Lear Baker Street 202
Stephen Hawking Baker Street 203
John Dalton Baker Street 204
Charles Darwin Baker Street 205
Sherlock Holmes Baker Street 221B
2. colmena no puede leer datos de archivos .gz?
los intentos locales para leer
los archivos comprimidos en a.txt .gz anterior documento, la operación local
$ gzip a.txt
$ ls
a.txt a.gz //已经看到压缩成功了
En este momento, a continuación, crear una tabla local
CREATE TABLE test_local
(FirstName STRING, LastName STRING, StreetAddress STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '/home/user/a.gz';
3. colmena no se puede leer en el Amazon S3 en los datos del archivo .gz?
try de Let