【发布时间】:2019-01-23 10:50:53
【问题描述】:
首先,如果措辞不当,我深表歉意,我试图帮助自己,但我不清楚哪里不对。
我正在尝试在 Impala 中查询从另一个系统导出的数据。
到目前为止,它被导出为一个管道分隔的文本文件,我可以通过创建具有正确分隔符设置的表、复制文件然后运行refresh 语句来很好地导入该文件。
我们遇到了一些问题,其中某些字段包含换行符,这使我们看起来拥有更多数据,但不一定适合我创建的元数据。
有人建议我们可以改用 Parquet 格式,这样可以很好地处理内部换行符。
我收到了数据,看起来有点像这样(我更改了用户名):
-rw-r--r--+ 1 UserName Domain Users 20M Jan 17 10:15 part-00000-6a763116-6728-4467-a641-32dd710857fe.snappy.parquet
-rw-r--r--+ 1 UserName Domain Users 156K Jan 17 10:15 .part-00000-6a763116-6728-4467-a641-32dd710857fe.snappy.parquet.crc
-rw-r--r--+ 1 UserName Domain Users 14M Jan 17 10:15 part-00001-6a763116-6728-4467-a641-32dd710857fe.snappy.parquet
-rw-r--r--+ 1 UserName Domain Users 110K Jan 17 10:15 .part-00001-6a763116-6728-4467-a641-32dd710857fe.snappy.parquet.crc
-rw-r--r--+ 1 UserName Domain Users 0 Jan 17 10:15 _SUCCESS
-rw-r--r--+ 1 UserName Domain Users 8 Jan 17 10:15 ._SUCCESS.crc
如果我通过 Impala 创建一个存储为镶木地板的表,然后在其上执行 hdfs dfs -ls,我会得到如下内容:
-rwxrwx--x+ 3 hive hive 2103 2019-01-23 10:00 /filepath/testtable/594eb1cd032d99ad-5c13d29e00000000_1799839777_data.0.parq
drwxrwx--x+ - hive hive 0 2019-01-23 10:00 /filepath/testtable/_impala_insert_staging
这显然与我收到的有点不同......
我如何在 Impala 中创建表格以便能够接受我收到的内容,并且我只需要 .parquet 文件还是需要将 >.parquet.crc 文件在哪里?
或者我收到的东西不符合目的?
我已尝试查看 the Impala documentation 的这一点,但我认为这并没有涵盖它。
我需要用 serde 做些什么吗?
我尝试将compression_codec 指定为snappy,但这给出了相同的结果。
任何帮助将不胜感激。
【问题讨论】:
标签: parquet create-table impala