- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Kafka 中有几个主题正在将 AVRO 文件写入 S3 存储桶,我想使用 AWS Athena 对存储桶执行一些查询。
我正在尝试创建一个表,但 AWS Glue 爬虫运行并且没有添加我的表(如果我将文件类型更改为 JSON,它会起作用)。我尝试从 Athena 控制台创建一个表,但它不显示对 AVRO 文件的支持。
关于如何让它发挥作用的任何想法?
最佳答案
我建议手动操作而不是通过 Glue。胶水仅适用于最基本的情况,不幸的是,这超出了范围。
您可以在此处找到有关如何创建 Avro 表的文档:https://docs.aws.amazon.com/athena/latest/ug/avro.html
Avro 表的警告是您需要指定表列和 Avro 架构。这可能看起来很奇怪和多余,但这就是 Athena/Presto 的工作方式。它需要一个模式来知道如何解释文件,然后它需要知道您想要将文件中的哪些属性公开为列(以及它们的类型,可能与 Avro 类型匹配也可能不匹配)。
CREATE EXTERNAL TABLE avro_table (
foo STRING,
bar INT
)
ROW FORMAT
SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES ('avro.schema.literal' = '
{
"type": "record",
"name": "example",
"namespace": "default",
"fields": [
{
"name": "foo",
"type": ["null", "string"],
"default": null
},
{
"name": "bar",
"type": ["null", "int"],
"default": null
}
]
}
')
STORED AS AVRO
LOCATION 's3://some-bucket/data/';
请注意 Avro 架构如何在 serde 属性值(单引号)内显示为 JSON 文档 - 格式是可选的,但使此示例更易于阅读。
关于amazon-web-services - 如何在 AWS Glue/Athena 上使用 AVRO 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56761178/
我在 Athena 中成功创建了数据库表。请参阅下面的查询。 CREATE EXTERNAL TABLE IF NOT EXISTS s3_access_logs_db.wafbucket_lo
我正在尝试与 aws athena 合作,对我们存储在 s3 中的 json 文件进行一些查询。所以,我设法创建了一个简单的模式,一切似乎都很好,直到我注意到我的一些文件没有被考虑在内。 文件的键是用
这个问题在这里已经有了答案: AWS ATHENA: user-defined variables (4 个答案) 关闭去年。 我在 aws-athena 中有一个 SQL,它看起来或多或少像这样
刚接触 AWS,第一次使用 Athena。将不胜感激任何帮助/澄清。 我将查询结果位置设置为 s3://aws-athena-query-results-{ACCOUNTID}-{Region},无论
我正在尝试使用 Aws Athena 在 csv 文件上创建一个外部表,代码如下,但行 TBLPROPERTIES ("skip.header.line.count"="1")不起作用:它不会跳过 c
我需要将表中的某些字段隐藏到特定用户组。 我想到了创建一个查看 这允许我屏蔽这些字段。但是,一旦将权限设置为仅授予对 View 的访问权限,查询就会失败,因为它们还需要访问在 View 下正在查询的表
在 Athena 中创建表时,我无法使用特定文件创建表。有没有办法从给定的存储桶中选择以“year_2019”开头的所有文件?例如 s3://bucketname/prefix/year_2019*.
我有这个查询: SHOW PARTITIONS tablename; 结果是: dt=2018-01-12 dt=2018-01-20 dt=2018-05-21 dt=2018-04-07 dt=2
我一直在使用以下查询在 Athena 中创建一个表, CREATE EXTERNAL TABLE IF NOT EXISTS test.test_table ( `converteddat
我想将字符串的数据类型(例如:'2018-03-27T00:20:00.855556Z')转换为时间戳(例如:'2018-03-27 00:20:00')。 实际上我在 Athena 中执行查询: s
该表有一列像这样, data MAP 和行喜欢, id | data 1 | {"foo": 123} 2 | {"bar": 456} 那么,如何搜索 data["bar"] = 456? 我
我觉得这应该很简单,但我一直在努力寻找正确的术语,请耐心等待。 我有两列,timestamp和 voltages这是数组 如果我做一个简单的 SELECT timestamp, voltages FR
我正在尝试从超集访问 Athena,连接成功并且可以在 SQL 编辑器中看到所有模式和表(启用在 SQL 实验室中公开此数据库)。 在 SQL 编辑器上加载元数据时返回以下错误: ERROR OCCU
有没有人尝试过从 Oracle Data Integrator 连接 AWS Athena。 我一直在尝试这个,但我找不到合适的 JDBC 连接字符串。 我遵循的步骤 https://docs.aws
运行 MSCK repair tablename 命令时,athena查询编辑器返回错误 tables not in metastore . 但是表存在,我可以在该表上查询。 我有数据保存在 S3形式
我想通过 API 在 Athena 中创建一个数据库。我在 S3 中有 Parquet 文件,我想使用 API 进行查询,我想使用 Athena 进行查询。 无论如何,我可以通过 Athena 的 A
如何从嵌套的 json 文件创建 Athena 表?这是我的示例 json 文件。我只需要选定的键值对,例如 roofcondition 和 garagestalls。 { "reportId":
如何从嵌套的 json 文件创建 Athena 表?这是我的示例 json 文件。我只需要选定的键值对,例如 roofcondition 和 garagestalls。 { "reportId":
我在 Amazon Athena 中获得了一张表,其中一列包含 XML 数据。这可能不是最好的方法,但我需要利用现有的资源。 据我所知,没有原生支持从这些 XML 中提取数据(比如使用 XPATH 等
我得到了以下格式的带有嵌套结构的 JSON 文档 { "id": "p-1234-2132321-213213213-12312", "name": "athena to the re
我是一名优秀的程序员,十分优秀!