有没有可能让粘合作业将JSON表重新分类为拼花,而不需要另一个爬虫来抓取拼花文件?
当前设置:
我必须相信有一种方法可以在没有另一个爬虫的情况下转换表分类(但我以前被AWS烧伤过)。非常感谢任何帮助!
为了方便起见,2个爬虫是最好的选择。
出于成本考虑,黑客解决方案应该是:
>
使用SHOW CREATE TABLE从Athena获取json表的
CREATE TABLE
DDL
在创建表DDL中,将表名和SerDer从json替换为parquet。除了位置之外,您不需要原始的创建表DDL中的其他表属性。
在Athena中执行新的
CREATE TABLE
DDL。
例如:
SHOW CREATE TABLE json_table;
原始DDL:
CREATE EXTERNAL TABLE `json_table`(
`id` int COMMENT,
`name` string COMMENT)
ROW FORMAT SERDE
'org.openx.data.jsonserde.JsonSerDe'
...
LOCATION
's3://bucket_name/table_data'
...
新DDL:
CREATE EXTERNAL TABLE `parquet_table`(
`id` int COMMENT,
`name` string COMMENT)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
LOCATION
's3://bucket_name/table_data'
您也可以使用Glue api方法以相同的方式执行此操作:get\u table()
注意-如果您想定期运行它,您需要在第一个爬虫程序运行后,将其包装在脚本中,并使用另一个调度器(crontab等)对其进行调度。
我正在尝试使用AWS胶水将大约1.5 GB的Gzip CSV转换为拼花地板。下面的脚本是自动生成的粘合作业,用于完成该任务。这似乎需要很长时间(我已经等了10个dpu好几个小时了,从来没有看到它结束或产生任何输出数据) 我想知道是否有人有任何经验将1.5 GB GZIPPED CSV转换为镶木地板-是否有更好的方法来完成此转换? 我有TB的数据要转换。值得关注的是,转换GBs似乎需要很长时间。 我
我的 hdfs 中有 Parquet 文件。我想将这些镶木地板文件转换为csv格式
我正在尝试将存储在HDFS(100Gbs)上的一堆多部分avro文件转换为拼花文件(保留所有数据) Hive可以使用以下命令将avro文件作为外部表读取: 但是当我试图设计一张拼花桌时: 它会抛出一个错误: 失败:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。java.lang.UnsupportedOperationException:未知字
我正在使用AWS S3、Glue和Athena进行以下设置: S3级-- 我的原始数据作为CSV文件存储在S3上。我正在使用Glue进行ETL,并使用Athena查询数据。 因为我使用的是雅典娜,所以我想将CSV文件转换为拼花。我现在正在用AWS胶水来做这个。这是我当前使用的流程: 运行爬虫读取CSV文件并填充数据目录 胶水作业一次只允许我转换一个表。如果我有很多CSV文件,这个过程很快就变得无法
我无法使用镶木地板文件将列的类型从更改为。 使用: 改变表DATABASE.TABLE改变COL INT(从字符串到int) 或 < code >更改表数据库。表格更改列列字符串(从int到string) 读取数据时产生错误: 文件x的“db.table.col”列具有不兼容的拼花架构。列类型:INT,拼花模式:可选byte_array col[i:1 d:1 r:0] 读了这个留档,我明白: T
我正在尝试使用火花在S3文件中生成拼花文件,目的是稍后可以使用presto从拼花中查询。基本上,它看起来是这样的, <代码>Kafka- 我能够使用Spark在S3中生成拼花并且工作正常。现在,我正在查看presto,我想我发现它需要hive meta store才能从拼花中查询。即使拼花保存模式,我也无法让presto读取我的拼花文件。那么,这是否意味着在创建拼花文件时,火花作业还必须将元数据存