sql—如何将文件从桌面加载到配置单元

qybjjes1  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(448)

我正在使用一个内部配置单元终端控制台来与配置单元接口。我有一个csv的帐号列表。我需要从数据库的表中提取这些帐号的数据。通常我只会说acct\u num=,但我有一个800的列表,我需要拉。我尝试过创建一个表,然后使用infile加载数据,但似乎无法掌握其中的诀窍。这个文件在我的桌面上,但我用winscp将csv文件移到我的“目录”中,在那里我创建了我的表。
这是我正在使用的代码。帐号是15位数字,全部是数字。我不确定保存为.csv是否会弄乱数字的格式,但我尝试过使用createtable作为sting和int。

  1. drop table acorn_data.cj_test_accounts_load;
  2. create table acorn_data.cj_test_accounts_load
  3. (acct_num int);
  4. load data inpath
  5. '/axp/buanalytics/csgsn/dev/Akhilesh/acorn_data/Test_accounts.csv'
  6. into table acorn_data.cj_test_accounts_load

如果可能的话,我想将这个文件至少加载到一个临时表中,这样我就可以将它连接到数据库中的表中。

zyfwsgd6

zyfwsgd61#

请尝试以下代码

  1. create table acorn_data.cj_test_accounts_load
  2. (acct_num int) row format delimited fields terminated by ',';
  3. LOAD DATA LOCAL INPATH '/cuddle/prod/sales.csv' INTO TABLE acorn_data.cj_test_accounts_load;
6yoyoihd

6yoyoihd2#

取决于这个“桌面”在哪里,以及您使用的到底是哪个web工具(色调?-我想你不能。
然后,有两个选项可用于将数据从文件加载到配置单元:
(1) 本地-来自hdfs所在的unix框(很可能不是您的“桌面”)
(2) 非本地-从hdfs(例如,您可以与webhdf交互-直接在那里转储文件:https://hadoop.apache.org/docs/r1.0.4/webhdfs.html,或者 hadoop fs -put 从提到的unix框中)
文件参考:https://cwiki.apache.org/confluence/display/hive/languagemanual+dml#languagemanualdml-将文件加载到表中

相关问题