我正在使用 Teradata 的 Aster 并尝试解析 pdf(或 html)文件,以便将其插入到 Aster 的 Beehive 数据库中的表中。整个 pdf 应该对应于表中的单行数据。
这将通过使用 Aster 的 SQL-MR 函数之一来完成documentParser
。这将生成一个文本文件 (.rtf),其中包含通过解析 pdf 文件中的所有章节生成的单行,然后将其加载到 Beehive 中的表中。
我得到了这个脚本,它显示了documentParser
这个解析过程中涉及的使用和其他步骤 -
/* SHELL INSTRUCTIONS */
--transform file in b64 (change file names to your relevant file)
base64 pp.pdf>pp.b64
--prepare a loadfile
rm my_load_file.txt
-- get the content of the file
var=$(cat pp.b64)
-- put in file
echo \""pp.b64"\"","\""$var"\" >> "my_load_file.txt"
-- create staging table
act -U db_superuser -w db_superuser -d beehive -c "drop table if exists public.cf_load_file;"
act -U db_superuser -w db_superuser -d beehive -c "create dimension table public.cf_load_file(file_name varchar, content varchar);"
-- load into staging table
ncluster_loader -U db_superuser -w db_superuser -d beehive --csv --verbose public.cf_load_file my_load_file.txt
-- use document parser to load the clean text (you will need to create the table beforehand)
act -U db_superuser -w db_superuser -d beehive -c "INSERT INTO got_data.cf_got_text_data (file_name, content) SELECT * FROM documentParser (ON public.cf_load_file documentCol ('content') mode ('text'));"
--done
documentParser
但是,我被困在脚本的最后一步,因为在 Aster 中可用的函数列表中似乎没有调用函数。这是我得到的错误 -
ERROR: function "documentparser" does not exist
我尝试使用 command 多次搜索此功能\dF
,但没有得到任何匹配。
我附上了一张图片,展示了我正在尝试做的事情的要点。
如果有人对此有任何经验,我将不胜感激。