将sqoop的输出导出到本地的文本文件中
问题描述:
我试图获取mysql表中的行数,并试图将数据计数转换为本地计算机上的文本文件。将sqoop的输出导出到本地的文本文件中
我使用下面的命令:
sqoop-eval --connect jdbc:mysql:url -username -password \
--query"select count(*) from test" >> data.txt
我得到以下输出:
------------------------
| COUNT |
------------------------
| 7548757 |
------------------------
我在输出文件中寻找刚刚数量为:
7548757
没有什么比计数。我怎样才能实现它?
答
的输出数据并不复杂,所以有几十种方法可以做到这一点,这里有几个:
-
使用
tr
:sqoop-eval --connect jdbc:mysql:url -username -password \ --query"select count(*) from test" | { tr -cd '[:digit:]' ; echo ; } >> data.txt
-
grep
:sqoop-eval --connect jdbc:mysql:url -username -password \ --query"select count(*) from test" | grep -o '[[:digit:]]*' >> data.txt
-
sqoop-eval --connect jdbc:mysql:url -username -password \ --query"select count(*) from test" | numgrep -l /0../ >> data.txt
输出是所有三个相同的:
7548757
工作的呢? 'sqoop-eval --connect jdbc:mysql:url -username -password --query“select count(*)from test”| awk'/ \\ |/&& $ 2〜/ [[:digit:]]/{print $ 2}'' – Inian
yes @Inian它工作正常 – sri